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

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

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


From: geraldo
Subject: RES: [shell-script] Quem poderia explicar!!!!!
Date: Thu, 10 Jul 2003 11:38:15 -0300

Valeu!!!!!!!!!
Essa deu certo porem mais afrente do script eu tenho:

#:<<__EOF
n=1
while [ "${n:=1}" -le "$NL" ]
do
echo "Cadastrando ${NOME[$n]}"
echo "Grupo ${GRUPO[$n]}"
echo
adduser -g teste -c ${NOME[$n]} ${LOGIN[$n]}
echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
usermod -g ${GRUPO[$n]} ${LOGIN[$n]}
echo "............................Feito"
echo
let n+=1
done
echo
#__EOF

O problema esta no trecho:

adduser -g teste -c ${NOME[$n]} ${LOGIN[$n]}
echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
usermod -g ${GRUPO[$n]} ${LOGIN[$n]}

Ele nao aceita o -c ${NOME[$n]} e nem depois usermod -g ${GRUPO[$n]}
${LOGIN[$n]}.

Antes estava fazendo assim:
adduser -g ${GRUPO[$n]} -c ${NOME[$n]} ${LOGIN[$n]} (tambem nao funcionou).

Ai fiz um teste, isolei do while em outro arquivo para testar:

#!/bin/bash
lg=grf
senha=123
grp=informatica
nome=Geraldo

adduser -g $grp -c $nome $lg
echo $senha | passwd --stdin $lg

Ele funcionou legal !!!!!!  O que pode estar de errado com o while!!!!!!

Abracos!!!!


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: quarta-feira, 9 de julho de 2003 19:50
Para: address@hidden
Assunto: Re: [shell-script] Quem poderia explicar!!!!!



ae,

On Wed, 9 Jul 2003, gerusso2003 wrote:

> Tenho um loop assim:
> #!/bin/bash
> for i in `(awk -F "\|" '{print $2}' usuario)`
>    do
>     NOME[$n]=$i
>     echo ${NOME[$n]}
>     let n+=1
> done
>
> O conteudo do arquivo usuario e esse:
> gr|Geraldo Russo|escola|info
> gf|Jose da Silva|escola|agro
>
> se executo awk -F "\|" '{print $2}' usuario no terminal ele retorna:
> Geraldo Russo
> Jose da Silva
>
> se faço no loop ele retorna:
> Geraldo
> Russo
> Jose
> da
> Silva

o problema esta no for que usa o IFS default. para arrumar, antes
do for faça:

OLDIFS="$IFS"
IFS="
"
for i in `awk -F "\|" '{print $2}' usuario`
....
done
IFS="$OLDIFS"

falow

--
thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------


Yahoo! Groups Sponsor
PUBLICIDADE


 Ache sua vaga! Profissional Diretoria Gerência Supervisão Superior Técnico
Outros Recém-formados Estágiários
Promoção 7 dias grátis!






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




reply via email to

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