13 liens privés
Juste après le « shebang », mettre ça sur la ligne d’après :
set -euo pipefail
“set -e” which ensures that your script stops on first command failure.
“set -u” which ensures that your script exits on the first unset variable encountered.
“set -o pipefail” which ensures that if any command in a set of piped commands failed, the overall exit status is the status of the failed command.
Sous bash/debian, par défaut, si vous précédez votre commande par un espace, elle ne sera pas enregistrée dans l'historique ! °o°
Dans un terminal il est possible d’enchaîner plusieurs opérations avec l'opérateur &&, par exemple :
cp fichier1 fichier2 && rm fichier1
Ici fichier1 sera copié en fichier2 et une fois terminé fichier1 sera supprimé (oui cela irait plus vite d'utiliser la commande mv, c'est pour l'exemple.)
Si jamais l'opération cp échoue, la seconde rm ne sera pas executée et tant mieux.
Par contre dans certain cas, on veut enchaîner des opérations même si une ou plusieurs échouent, et bien dans ce cas là on peut utiliser l'opérateur ||, exemple :
cp fichier1 fichier2 || cp fichier3 fichier4
Ici fichier1 sera copié en fichier2 et fichier3 en fichier4, même si la première opération échoue.