(Courriels de diversion: <braquons@denuderaient-cursives.com> <baserai@gargouillements-aviserait.com> <mesestimee@recachettes-usurperas.com> <nabot@affreter-nicherai.com> <spolierais@assignerions-sablier.com> <surexcitant@rassoyant-mobiliserai.com> <espacerons@croquee-dedommagees.com> <boutonnerez@decante-desertaient.com> <grippent@devront-enclume.com> <reconcilierez@inserent-gares.com> )


jpcas a écrit :
hd a écrit :
bonjour,

dans mon script, je veux tester le code retour d'un programme appelé et
sortir si différent de 0

par exemple
grep --help retourne 0
grep --machin retourne 2

dans mon script, je pensais faire

test ! "macommand args" || exit 1
sauf que cela ne fonctionne pas !

exemple:
test ! "grep --help" || echo "test si ko"
affiche "test si ko"
"grep --help" retourne 0
! "grep --help" devrait être évalué comme true
test ! "grep --help" devrait être évalué comme true
donc la 2° partie du OR ne devrait pas être appelé

forcement, je me trompe quelque part

merci pour votre éclairage


Salut,

Sauf que dans ton cas c'est le code retour de la commande "test" qui est
évalué et non pas celui de "grep".

[jp@MDK tmpfs]$ grep --help >/dev/null  2>&1 || echo "No OK"[jp@MDK tmpfs]$[jp@MDK tmpfs]$ grep --machin >/dev/null  2>&1 || echo "No OK"No OK
[jp@MDK tmpfs]$[jp@MDK tmpfs]$ [ ! "grep --help" ][jp@MDK tmpfs]$ echo $?1
[jp@MDK tmpfs]$ [ ! "grep --machin" ][jp@MDK tmpfs]$ echo $?1
[jp@MDK tmpfs]$


;-)

je n'avais pas percuté !
en plus, je n'avais pas réalisé que "true" était 0 avec bash et "false" une valeur != 0


merci

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>