• [^] # Re: true et false

    Posté par . En réponse au journal Le core utile. Évalué à 1.

    Si true et false n’étaient pas des commandes (ou qu’on utilisait à la place 0 et 1, oui et non...), il faudrait des tests plus lourds du style :

    Comme je l'ai montré plus haut, pas besoin de if, true ou &&/|| pour faire une exécution conditionnelle en shell. Il suffit des opérateurs de substitutions !

    # commande a exécuter que si la variable COND est nulle ou vide
    ${COND:+:} ${COND:-commande}
    # et inversement, à n'exécuter que si COND n'est ni nulle ni vide
    ${COND:+commande}

    On peut donc très bien se passer de 'test' en utilisant les substitutions par commandes expr, sed, ls, readlink (bon ok là on pousse un peu) et les substitutions sur motifs (${var%motif} et autres) ... :-)

    Dans l'autre exemple que j'ai montré, utilisé à bon escient ça peut être plus lisible, je trouve (tm)