j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou
aucun retour commande apparait.
Ex:
mkdir abcde
ls abcde/
ne renvoie rien, bien que la commande ait réussie.
maintenant je cherche à effectuer un test et effectuer une action
lorsque le retour de commande est vide, et d'autres actions
si le retour n'est pas vide, i.e:
commande()
if vide then: ...
if quelquechose: autre action
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Che Averell
Kevin Denis écrit :
Bonjour,
Hello,
j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou aucun retour commande apparait.
Quelque chose comme ça devrait marcher : ret=`commande` if [ "$ret" == "" ] ; then # c'est vide else # c'est rempli fi
A condition bien entendu que c'est la sortie standard de ta commande que tu veux vérifier s'il y a quelque chose ou non. Pour l'erreur standard je ne sais pas faire.
Kevin Denis <kevin@nowhere.invalid> écrit :
Bonjour,
Hello,
j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou
aucun retour commande apparait.
Quelque chose comme ça devrait marcher :
ret=`commande`
if [ "$ret" == "" ] ; then
# c'est vide
else
# c'est rempli
fi
A condition bien entendu que c'est la sortie standard de ta commande
que tu veux vérifier s'il y a quelque chose ou non. Pour l'erreur
standard je ne sais pas faire.
j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou aucun retour commande apparait.
Quelque chose comme ça devrait marcher : ret=`commande` if [ "$ret" == "" ] ; then # c'est vide else # c'est rempli fi
A condition bien entendu que c'est la sortie standard de ta commande que tu veux vérifier s'il y a quelque chose ou non. Pour l'erreur standard je ne sais pas faire.
Stephane Chazelas
2009-09-02, 14:51(+02), Che Averell:
Kevin Denis écrit :
Bonjour,
Hello,
j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou aucun retour commande apparait.
Quelque chose comme ça devrait marcher : ret=`commande` if [ "$ret" == "" ] ; then
Note que la syntaxe standard est
[ "$ret" = "" ]
ou [ -z "$ret" ]
ou pour worker around les bugs de certaines implementations de "[".
[ "x$ret" = x ]
Ca ne marche pas si "commande" n'outpute que des sauts de lignes.
Dans ce cas, tu peux faire
ret=$(command; ret=$?; echo x; exit "$ret") if [ x = "$ret" ]...
Faut noter aussi que ca fait que la sortie standard de "commande" devient un pipe ce qui peux avoir des effets secondaires.
-- Stéphane
2009-09-02, 14:51(+02), Che Averell:
Kevin Denis <kevin@nowhere.invalid> écrit :
Bonjour,
Hello,
j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou
aucun retour commande apparait.
Quelque chose comme ça devrait marcher :
ret=`commande`
if [ "$ret" == "" ] ; then
Note que la syntaxe standard est
[ "$ret" = "" ]
ou [ -z "$ret" ]
ou pour worker around les bugs de certaines implementations de
"[".
[ "x$ret" = x ]
Ca ne marche pas si "commande" n'outpute que des sauts de
lignes.
Dans ce cas, tu peux faire
ret=$(command; ret=$?; echo x; exit "$ret")
if [ x = "$ret" ]...
Faut noter aussi que ca fait que la sortie standard de
"commande" devient un pipe ce qui peux avoir des effets
secondaires.
j'aimerai tester le cas ou une commande réussit (?$=0 ) mais ou aucun retour commande apparait.
Quelque chose comme ça devrait marcher : ret=`commande` if [ "$ret" == "" ] ; then
Note que la syntaxe standard est
[ "$ret" = "" ]
ou [ -z "$ret" ]
ou pour worker around les bugs de certaines implementations de "[".
[ "x$ret" = x ]
Ca ne marche pas si "commande" n'outpute que des sauts de lignes.
Dans ce cas, tu peux faire
ret=$(command; ret=$?; echo x; exit "$ret") if [ x = "$ret" ]...
Faut noter aussi que ca fait que la sortie standard de "commande" devient un pipe ce qui peux avoir des effets secondaires.
-- Stéphane
Manuel Pégourié-Gonnard
Stephane Chazelas scripsit:
ou pour worker around
Contourner ?
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle censée contourner, et quels sont les exemples courant d'implémentations fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Stephane Chazelas scripsit:
ou pour worker around
Contourner ?
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle
censée contourner, et quels sont les exemples courant d'implémentations
fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si
ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle censée contourner, et quels sont les exemples courant d'implémentations fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Stephane CHAZELAS
2009-09-3, 00:45(+02), Manuel Pégourié-Gonnard:
Stephane Chazelas scripsit:
ou pour worker around
Contourner ?
Ah oui, c'est le mot que je cherchais :-), merci
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle censée contourner, et quels sont les exemples courant d'implémentations fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
Pour ces derniers, ksh88 et des vieilles version d'ash ont aussi des problemes et peut-etre d'autres.
[ "" = "$ret" ] ne devrait pas avoir de probleme.
-- Stéphane
2009-09-3, 00:45(+02), Manuel Pégourié-Gonnard:
Stephane Chazelas scripsit:
ou pour worker around
Contourner ?
Ah oui, c'est le mot que je cherchais :-), merci
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle
censée contourner, et quels sont les exemples courant d'implémentations
fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si
ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle censée contourner, et quels sont les exemples courant d'implémentations fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
Pour ces derniers, ksh88 et des vieilles version d'ash ont aussi des problemes et peut-etre d'autres.
[ "" = "$ret" ] ne devrait pas avoir de probleme.
-- Stéphane
Stephane CHAZELAS
2009-09-3, 00:45(+02), Manuel Pégourié-Gonnard: [...]
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle censée contourner, et quels sont les exemples courant d'implémentations fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
[...]
Voir:
http://www.in-ulm.de/~mascheck/various/test/
-- Stéphane
2009-09-3, 00:45(+02), Manuel Pégourié-Gonnard:
[...]
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle
censée contourner, et quels sont les exemples courant d'implémentations
fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si
ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
2009-09-3, 00:45(+02), Manuel Pégourié-Gonnard: [...]
les bugs de certaines implementations de "[".
[ "x$ret" = x ]
J'ai souvent vu cette tournure utilisée. Quels bugs possibles est-elle censée contourner, et quels sont les exemples courant d'implémentations fautives ? (Pour ma culture, mais aussi pour me motiver à l'utiliser si ça vaut le coup : naturellement j'aurai plutôt tendance à préférer -z.)
[...]
Voir:
http://www.in-ulm.de/~mascheck/various/test/
-- Stéphane
Manuel Pégourié-Gonnard
Stephane CHAZELAS scripsit:
http://www.in-ulm.de/~mascheck/various/test/
Merci pour cette référence très complète.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Stephane CHAZELAS scripsit:
http://www.in-ulm.de/~mascheck/various/test/
Merci pour cette référence très complète.
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/