Commande shell

maiil Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21331 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

A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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...
2
foobar47 Messages postés 13536 Date d'inscription   Statut Contributeur Dernière intervention   533
 
exact. ;-)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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 ? ;-)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Vu comme ça, c'est bon ? ;-)
Yes ;-)

Il fallait interpréter
De toute façon j'ai bien compris ce que tu voulais dire, j'ai pensé plutôt à maiil ;-)
0