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

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

Re: RES: [shell-script] Problema Script paraAdicionar Usuários


From: Miranda
Subject: Re: RES: [shell-script] Problema Script paraAdicionar Usuários
Date: Thu, 23 Sep 2004 16:44:29 -0300
User-agent: KMail/1.5

um detalhe :
você vai ter de mudar seu grep 
Imagine que o usuário  osvaldo esteja se cadastrando
e que no seu passwd já tenha o usuário ariosvaldo ...
 
On Thursday 23 September 2004 15:23, Julio Cezar Neves - DATAPREVRJ wrote:
> André,
> o cmd if do shell foi feito para testar instrução e não condição (se bem
> que a construção [ ... ] equivale ao cmd test). Então a forma mais limpa e
> pura de fazer este teu trecho de código é:
>
> Se vc não estivesse atribuindo valor a verusuario, vc poderia
> tranquilamente escrever (e no seu caso, me parece que a atribuição é
> desnecessária):
>
> echo -n "Nome de Usuario: "
> read username
> if  cat /etc/passwd |cut -d: -f1 | grep "$username" |cut -d: -f1
> then
>     echo "Este usuario ja existe no sistema, processo abortado!"
>     exit
> fi
> .... prossegue o script
>
> Para fazer a atribuição e o teste, a sintaxe abaixo é a mais eficiente.
>
> echo -n "Nome de Usuario: "
> read username
> [ verusuario=`cat /etc/passwd |cut -d: -f1 | grep "$username" |cut -d: -f1`
> ] &&
>     {
>     echo "Este usuario ja existe no sistema, processo abortado!"
>     exit
>     }
> .... prossegue o script
>
> Julio Cezar Neves
> - Gerente do Programa de Software Livre -
> Tel:+55 21 2528-7070 / +55 21 8112-9988
> Fax: +55 21 2528-7646
> mailto:address@hidden
>
> | -----Mensagem original-----
> | De: André Luiz [mailto:address@hidden]
> | Enviada em: quinta-feira, 23 de setembro de 2004 13:35
> | Para: address@hidden
> | Assunto: [shell-script] Problema Script para Adicionar Usuários
> |
> |
> | Amigos da lista boa tarde a todos vcs!
> |
> | Seguinte galera, acho que essa eh uma dúvida bem básica porém
> | eu não entendo muito de shell e está si tornando uma dúvida
> | meio chata heheh
> | To fazendo um script para facilitar o cadastro de usuários...
> | Fiz assim:
> |
> | echo -n "Nome de Usuario: "
> | read username
> | verusuario=`cat /etc/passwd |cut -d: -f1 | grep "$username"`
> | if [ $username = $verusuario ]; then
> |         echo "Este usuario ja existe no sistema, processo abortado!"
> |         exit 0
> | else
> | .... prossegue o script
> |
> | o que tah acontecendo é o seguinte... qdo o usuario ainda não
> | existe no sistema, o valor é em branco... e aí que dah o
> | seguinte problema:
> |
> | [: =: argument expected
> |
> | Olha os exemplos... qdo ele acha o usuario:
> |
> | [ alfa/andre ]# sh -x cria_usuario.sh
> | + echo -n Nome de Usuario:
> | Nome de Usuario: + read username
> | andre
> | + cat+ cut+ grep /etc/passwd -d: andre
> |  -f1
> |
> | + verusuario=andre
> | + [ andre = andre ]
> | + echo Este usuario ja existe no sistema, processo abortado!
> | Este usuario ja existe no sistema, processo abortado!
> | + exit 0
> |
> |
> |
> | agora olha o que acontece qdo o usuario naum existe:
> |
> | [ alfa/andre ]# sh -x cria_usuario.sh
> | + echo -n Nome de Usuario:
> | Nome de Usuario: + read username
> | luiz
> | + cat+ cut+ grep /etc/passwd -d: luiz
> |  -f1
> |
> | + verusuario=
> | + [ luiz = ]
> | [: =: argument expected
> |
> | Entenderam? pois é e esse errinho aí tah me chateando...
> | algum amigo da lista poderia me ajudar a "consertar" isso?
> |
> | Obrigado a todos... tenham uma excelente tarde
> |
> | André Luiz
> |
> |
> | [As partes desta mensagem que não continham texto foram removidas]
> |
> |
> |
> | ---------------------------------------------------------------------
> | 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.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> 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.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>



reply via email to

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