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   -
Bonjouur
qiq1 peut-il me dire ce que fait la commande unix suivante
if [ $? -eq 0]
merci

1 réponse

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
    1. foobar47 Messages postés 13654 Statut Contributeur 534
       
      exact. ;-)
      0
    2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      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
    3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      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
    4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      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