|
From: | Julio C. Neves |
Subject: | Re: [shell-script] teste retorno comando |
Date: | Sat, 13 Dec 2014 20:10:28 -0200 |
Se não me engano, em um curso que fiz com o Julio, vi que o ideal para testar comparações numéricas é com parênteses e não com colchetes.
(( $? == 0 )) && echo igual || echo diferente
Julio, desculpe se falo errado... Kkkk
Em 13/12/2014 18:37, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> escreveu:Fala Herbert,acho que vc está misturando um monte de conceitos.1 - Toda vez que vejo um if [ $? -eq ... ], desconfio, quase com certeza que o script está muito mal escrito.A função do if é testar instrução, então não tem por que c executar a instruçõ e testar o seu retorno. Otimize isso assim:if who | grep usuario &> /dev/null
then
echo "logado"
else
echo "não logado"
fiMas o erro não está aí, estou só te mostrando como otimizar e programar limpo.2 - &> só passou a funcionar no bash 4.0. Se vc estiver abaixo dessa versão, já era!3 - Existe um vetor do sistema que te devolve o $? de cada um dos componentes de uma linha com pipes (|) é o PIPESTATUS, veja:
$ who | grep usuario &> /dev/null
$ echo ${PIPESTATUS[@]}
0 1Isso significa que o who foi bem sucedido e o grep deu zebra.4 - Como o grep não dá erro caso não case com ninguém, basta mandar a saída primária para /dev/null, ou usar a facilidade que o próprio grep oferece:
$ who | grep -q usuarioEm 13 de dezembro de 2014 14:12, Herbert Parentes Fortes Neto (hpfn) address@hidden [shell-script] <address@hidden> escreveu:olá,
estou com uma dúvida bem básica. dá até vergonha de dizer.
se faço: who | grep usuario &> /dev/null || echo "nao logado"
tenho o retorno esperado.
mas isso não está funcionando:
who | grep usuario &> /dev/null
if [ $? ] # tanto faz o valor de $? - 0 ou 1. estou sempre logado
then
echo "logado"
else
echo "não logado"
fi
o que está errado ?
abraço,
--
Herbert Parentes Fortes Neto (hpfn)
[Prev in Thread] Current Thread [Next in Thread]
- teste retorno comando, hpfn, 2014/12/13
- Re: [shell-script] teste retorno comando, Rodrigo Tenorio, 2014/12/13
- Re: [shell-script] teste retorno comando, hpfn, 2014/12/13
- Re: [shell-script] teste retorno comando, hpfn, 2014/12/13
- Re: teste retorno comando, itamarnet, 2014/12/13
- Re: [shell-script] teste retorno comando, Paulo Bettega, 2014/12/13
- Re: [shell-script] teste retorno comando, Paulo Bettega, 2014/12/13
- Re: [shell-script] teste retorno comando, Julio C. Neves, 2014/12/13
- Re: [shell-script] teste retorno comando, Jonathan Lessa, 2014/12/13
- Re: [shell-script] teste retorno comando, Julio C. Neves <=
- Re: [shell-script] teste retorno comando, Jonathan Lessa, 2014/12/13
- Re: [Bulk] Re: [shell-script] teste retorno comando, Sidney Souza, 2014/12/13
- Re: [Bulk] Re: [shell-script] teste retorno comando, Paulo Bettega, 2014/12/14
- Re: [Bulk] Re: [shell-script] teste retorno comando, Julio C. Neves, 2014/12/14
- Re: [Bulk] Re: [Bulk] Re: [shell-script] teste retorno comando, Sidney Souza, 2014/12/14
Re: [shell-script] teste retorno comando, hpfn, 2014/12/14
- Prev by Date: Re: [shell-script] teste retorno comando
- Next by Date: Re: [shell-script] teste retorno comando
- Previous by thread: Re: [shell-script] teste retorno comando
- Next by thread: Re: [shell-script] teste retorno comando
- Index(es):