• [^] # Re: Portabilité et forçage

    Posté par . En réponse à la dépêche Mise aux poings sur systemd. Évalué à 2.

    Je ne reparlerai pas de test cf commentaire précédent. Mais comme tous les programmes bien écris retourne 0 si ok et ≠0 si pas ok. C’est par exemple le principe de la commande cd (changer de répertoire courant) :

    if cd bin
    then
    echo "Dans le répertoire bin/"
    else
    echo "Pas de répertoire bin/ ici."
    fi

    Et ça marche avec toute les commandes. De même que le && qui est très pratique pour lancer une commande si et seulement si la précédente est bonne.
    Ça marche parce que si tu as deux prédicats : A et B. On évalue d’abord A s’il est faux, le prédicat sera faux, donc pas besoin d’évaluer B.
    De même que le ou on évalue le nombre de droite que si le gauche et faux.
    On peut écrire A && B || C. Si A ou B sont faux alors C sera exécuté. Pour reprendre mon exemple précédent :

    cd bin && echo "Dans le répertoire bin/" || echo "Pas de répertoire bin/ ici."

    Fait la même chose en plus condensé.