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

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

Re: [shell-script] Re: Problema com operador lógico...


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Re: Problema com operador lógico...
Date: Fri, 19 May 2006 14:18:56 -0300

Funciona dependendo do que vc quer...

$ echo A | grep -q A && echo ok || echo nok
ok

$ echo A | grep -qv A && echo ok || echo nok
nok

agora, o '||' ou '&&' podem não funcionar se o programa não retorna o
status esperado. boa parte dos programas 'core' unix retornam um
inteiro diferente de zero caso alguma condição não tenha sido
encontrada.

$ ls /  ; echo $?
...
0


$ ls sdfasfasdfsd  ; echo $?
ls: sdfasfasdfsd: No such file or directory
2

perceba que o ls executou perfeitamente, porém ele não conseguiu
encontrar o arquivo ou diretorio sdfasfasdfsd e jogou um código
diferente de 0. isso simplifica algumas operações, se vc pensar bem.
vc espera que o ls liste alguma coisa, se não há o que listar, ele
avisa dessa forma, e vc pode montar uma lógica com || e &&.

se o seu || não funciona, imprima o conteudo da variavel $? naquele
momento. provavelmente seu programa sempre retorna 0... o que não é
erro algum, só não foi desenvolvido dentro deste pensamento.

2006/5/19, Fabricio Lopes de Souza <address@hidden>:
ah entendi , mas o esperado seria ??

gentoo-box ~ # echo a | grep a || echo lala
a
gentoo-box ~ # echoo a | grep a || echo lala
bash: echoo: command not found
lala
gentoo-box ~ # echo a | grepp a || echo lala
bash: grepp: command not found
lala
gentoo-box ~ # echoo a | grepp a || echo lala
bash: grepp: command not found
bash: echoo: command not found
lala


--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

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