[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Problema Script para Adicionar Usuários
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Problema Script para Adicionar Usuários |
Date: |
Thu, 23 Sep 2004 15:23:37 -0300 |
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
- RES: [shell-script] Problema Script para Adicionar Usuários,
Julio Cezar Neves - DATAPREVRJ <=