Commande shell
maiil
Messages postés
3
Statut
Membre
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjouur
qiq1 peut-il me dire ce que fait la commande unix suivante
if [ $? -eq 0]
merci
qiq1 peut-il me dire ce que fait la commande unix suivante
if [ $? -eq 0]
merci
1 réponse
-
Salut,
Elle vérifie que le code retour ($?) de la dernière commande exécutée est bien égal à zéro (true), autrement dit si la commande s'est bien déroulée...
-
-
Salut,
est bien égal à zéro (true),
Désolé mais je ne suis pas d'accord ;-)
$? n'est pas dans un contexte booleen mais une variable qui contient le code de retour (un entier)
En revanche l'expression [ $? -eq 0] dans le script renvoie true ou false selon la valeur de $?, c'est un test d'égalité entre deux entiers.
Si on considére que zéro vaut (vrai)true alors la comparaison sera faite entre vrai (true) qui est un booleen et 0 qui est un entier, et ce n'est pas normal.
En général une valeur differente de zéro est considerée comme vraie (true) tandis que zéro est considéré comme faux en contexte booleen. -
Salut,
Désolé mais je ne suis pas d'accord ;-)
C'est ton droit ;-))
Elle vérifie que le code retour ($?) de la dernière commande exécutée est bien égal à zéro (true)
Il fallait interpréter : si la valeur du code retour ($?) est bien égal à zéro, dans ce cas le test ([...]" renvoie "true".
Vu comme ça, c'est bon ? ;-) -
-