shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: RES: RES: RES: [shell-script] Quem poderia explicar!!!!!


From: geraldo
Subject: RES: RES: RES: RES: [shell-script] Quem poderia explicar!!!!!
Date: Mon, 14 Jul 2003 18:50:08 -0300

Vou tentar aqui, mas realmente vou precisar da variavel mais tarde!!!!
Quando for adicionar o usuario!!!!!!

Geraldo Russo Filho
Linux Administrator
Web Master
address@hidden
address@hidden
fone:(35) 9954-4688

  -----Mensagem original-----
  De: Mateus Caruccio [mailto:address@hidden]
  Enviada em: segunda-feira, 14 de julho de 2003 17:23
  Para: address@hidden
  Assunto: Re: RES: RES: RES: [shell-script] Quem poderia explicar!!!!!



  ----- Original Message -----
  From: "geraldo" <address@hidden>
  Date: Mon, 14 Jul 2003 17:05:19 -0300
  To: <address@hidden>
  Subject: RES: RES: RES: [shell-script] Quem poderia explicar!!!!!

  > Estou quase la!!!!!!!!  Me da um help nisso:
  >
  > #!/bin/bash
  > n=1
  > for i in `(awk -F "\:" '{print $4}' usuario)`

  Meio confuso esse `(...)`, pq nao usar $(...) ?

  Nao precisa escapar um caractere que nao eh espcial pro shell. "\:" é
igual à :

  Usar o cut ao inves do awk ajuda na performance (o cut oq vc precisa e
mais rapido que o awk)

  > do
  > GRUPO[$n]=$i
  > # echo ${GRUPO[$n]}
  > GP=`grep ${GRUPO[$n]} /etc/group | cut -d : -f1`
  > if [ ! $GP ]
  > then
  > echo "Adicionando grupo ${GRUPO[$n]}"
  > groupadd ${GRUPO[$n]}
  > fi
  > let n+=1

  n=$(($n + 1))
  me parece mais "intuitivo"


  > done
  >
  > Me explique porque ele retorna "is a not a valid group name" e nao
adiciona
  > o grupo caso ele nao exista. Meu nao estou alcançando o que
  > acontece...................Ele imprime:
  >
  > Adicionando grupo informatica
  > is a not a valid group name
  >
  > Adcionando grupo enfermagem
  > is a not a valid group name
  >
  >
  > O conteudo do arquivo usuario que chamo:
  >
  > gr:Geraldo Russo:escola:informatica
  > gf:Jose Mane:escola:enfermagem
  >

  esse script funcionou aqui na minha maquina:


  #!/bin/bash
  n=0      # siga o padrao, inicie em 0 (zero)
  for i in $(cut -f4 -d: usuario); do
        GRUPO[$n]=$i
        #echo ${GRUPO[$n]}
        GP=$(grep ${GRUPO[$n]} /etc/group | cut -d: -f1)
        if [ ! $GP ]; then
              echo "Adicionando grupo ${GRUPO[$n]}"
              groupadd ${GRUPO[$n]}
        fi
        n=$(($n + 1))
  done


  a nao ser que voce precise da variavel GRUPO mais tarde, nao existe motivo
para usar um hash. pode guardar o nome do grupo em uma variavel normal...


  []s

    Mateus Caruccio

  >
  >
  > Geraldo Russo Filho
  > Linux Administrator
  > Web Master
  > address@hidden
  > address@hidden
  > fone:(35) 9954-4688
  > -----Mensagem original-----
  > De: Thobias Salazar Trevisan [mailto:address@hidden]
  > Enviada em: segunda-feira, 14 de julho de 2003 11:12
  > Para: address@hidden
  > Assunto: Re: RES: RES: [shell-script] Quem poderia explicar!!!!!
  >
  >
  >
  > ae geraldo,
  >
  > On Mon, 14 Jul 2003, geraldo wrote:
  >
  > > Com eval ele executou a criacao porem ele retorna o help do adduser e
nao
  > > muda o usuario de grupo e caso eu coloque para ele ja cadastrar direto
no
  > > grupo nao rola. Ficou assim:
  >
  > mmmm, então não é problema no script, e sim, no modo que você
  > está executando o comando adduser. Note que em certas distros
  > adduser != useradd, ou seja, os 2 são binários. Em outras
  > distros, o adduser é um link para useradd.
  >
  > os parâmetros que tu está usando são do useradd. confira isso!
  >
  > > var="adduser -g teste -c \"${NOME[$n]}\" ${LOGIN[$n]}"
  > > eval $var
  > > read -p "Digite Enter para criar o usuario acima"
  > > $var
  >
  > executando 2 vezes $var ?! uma com eval e outra sem.
  >
  > falow
  >
  > thobias
  > -------
  > echo 9446046325380026818553633794429812592304650P | dc
  > -------
  > http://www.lcp.coppe.ufrj.br/~thobias
  >
  > ____________________________
  > |
  > | Against - HTML Mail
  > | Against - MS ATTACHMENTS
  > |
  > ----------------------------
  >
  >
  > Yahoo! Groups Sponsor
  > PUBLICIDADE
  >
  >
  >
  >
  > ---------------------------------------------------------------------
  > Esta lista não admite a abordagem de outras liguagens de programação,
como
  > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
prévio
  > aviso.
  > ---------------------------------------------------------------------
  > Sair da lista: address@hidden
  > ---------------------------------------------------------------------
  > Esta lista é moderada de acordo com o previsto em
  > http://www.listasdiscussao.cjb.net
  > ---------------------------------------------------------------------
  >
  >
  > Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.
  >
  >
  >
  >
  > ---------------------------------------------------------------------
  > Esta lista não admite a abordagem de outras liguagens de programação,
como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
prévio aviso.
  > ---------------------------------------------------------------------
  > Sair da lista: address@hidden
  > ---------------------------------------------------------------------
  > Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
  > ---------------------------------------------------------------------
  >
  >
  > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
  >
  >



  # ########################################################
  # Mateus de Oliveira Caruccio <caruccio at operamail.com>
  # Linux User #183552 - UIN #37364320
  # Vim, vi e matei o Emacs !



  --
  ____________________________________________
  http://www.operamail.com
  Get OperaMail Premium today - USD 29.99/year


  Powered by Outblaze

        Yahoo! Groups Sponsor
              PUBLICIDADE




  ---------------------------------------------------------------------
  Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
  ---------------------------------------------------------------------
  Sair da lista: address@hidden
  ---------------------------------------------------------------------
  Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
  ---------------------------------------------------------------------


  Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]