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

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

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


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: RES: [shell-script] Problema Script paraAdicionar Usuários
Date: Thu, 23 Sep 2004 19:00:08 -0300

Miranda tem razão,
minha preocupação não era com o funcionamento, mas sim com a sintaxe e
otimização. O grep que deve ser feito é:

grep "^$username:"

Onde o circunflexo significa início do registro e : é o separador.

Valeu Miranda, bem lembrado!

[ ]s,
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: Miranda [mailto:address@hidden]
| Enviada em: quinta-feira, 23 de setembro de 2004 16:44
| Para: address@hidden
| Assunto: Re: RES: [shell-script] Problema Script 
| paraAdicionar Usuários
| 
| 
| 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
| >
| >
| >
| 
| 
| 
| ---------------------------------------------------------------------
| 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]