Quand on code en Bash une question revenant souvent est : comment faire un opérateur ternaire ?
Pour les novices cela permet de raccourcir l'écriture du bloc conditionnel suivant :
if [ "$var" = "ok" ]; then call_function_ok else call_function_ko fi
... Autrement dit : si test vrai exécute instruction1 sinon exécute instruction2
Le but ici est de raccourcir l'écriture de ce bloc via l'utilisation d'un opérateur ternaire.
Si d'autres langages le formalisent en général de la manière suivante : ( test ? instruction1 : instruction2 )
... En Bash la syntaxe est différente. Si on reprend notre premier exemple cela donnera :
[ "$var" = "ok" ] && call_function_ok || call_function_ko