[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