• [^] # Re: Mon positionnement

    Posté par . En réponse au journal Le libre et l'expérience utilisateur. Évalué à 2.

    Donc si tu veux 2 états "réuissite" tu y dédies un des 254 autres signaux disponibles.

    Et du coup les constructions classiques ne fonctionnent plus. Par ex :

    foobar && echo "success" || >&2 echo "failure"

    Si ce que vous préconisez c'est ça :

    foobar
    if [ $? -eq 0 ]
    then
     echo "success"
    elif [ $? -eq 1 ]
    then
     echo "success 2"
    else
     >&2 echo "failure"
    fi

    J'ai déjà vu plein de scripts de ce genre cassés. Au bout d'un certain temps quelqu'un va rajouter un truc entre foobar et if et bing ! Dans l'exemple ça parait évident, quand c'est un script réel plus complexe...

    Notez aussi que pour wget, les valeurs de retour différentes de 0 sont toutes des erreurs. Il n'y a pas de cas 'réussite avec une spécificité'.

    Donc définitivement je trouve que c'est un hack, un peu comme faire du polymorphisme en C. Oui on peut, mais le langage n'est pas fait pour ça et ça ne sera donc jamais élégant.