• [^] # Re: exercice d'entrainement

    Posté par . En réponse au message Commande if à écrire. Évalué à 1. Dernière modification le 29 décembre 2015 à 16:03.

    if $var1 -eq 0; then $var2; fi

    Ca ça a l'air bon.

    Nope, ça ne veut rien dire. "if" ne fait que lancer une commande et comparer son code retour à zero, rien de plus. le "-eq" et le "0" seront passés comme arguments à la commande qui est contenue dans $var, à supposer var contient le nom d'une commande valide ou d'une fonction du shell.

    NB "-eq 0" ressemble à la syntaxe du programme test... "test" et "expr" quant à eux ne lancent rien, ils se contentent d'interprèter l'expression qui leur est transmise et de retourner 0 ou pas zero ou d'afficher le résultat pour le cas de expr. Spécifiquement, ils ne font pas d'expansion (ou interpolation ou substitution appellons ça comme on veut) de variable. La seule fonction du shell qui fait ça c'est "eval".