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

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

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


From: Mateus Caruccio
Subject: Re: RES: RES: RES: [shell-script] Quem poderia explicar!!!!!
Date: Tue, 15 Jul 2003 04:22:46 +0800

----- 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


reply via email to

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