Par moment on ne se souvient plus de pourquoi on fait les chose comme cela ...
Donc d'après mes notes, j'utilise [[ ]] et non [] car la variable de [ -f $variablequinexistepas ] est considérée comme une chaîne de caractère vide, le test est donc vrais.
$ [ -f $variablequinexistepas]&&echo ok ||echo ko
ok
$ [[ -f $variablequinexistepas]]&&echo ok ||echo ko
ko
En doublon avec le set -u
[ -d "{mondossier}"
Effectivement ca fonctionne, mais je trouve plus logique : si quelque chose n'existe pas, je fais ..
Au contraire de si quelque chose existe ... je passe ? sinon je le créer.
mkdir -p "${mondossier}"
Si "${mondossier}" est vide ou n'existe pas ça va planter.
[^] # Re: Programmation défensive en bash
Posté par Skilgannon . En réponse au journal Args parser pour shell. Évalué à 1.
Par moment on ne se souvient plus de pourquoi on fait les chose comme cela ...
Donc d'après mes notes, j'utilise
[[ ]]et non[]car la variable de[ -f $variablequinexistepas ]est considérée comme une chaîne de caractère vide, le test est donc vrais.En doublon avec le
set -uEffectivement ca fonctionne, mais je trouve plus logique : si quelque chose n'existe pas, je fais ..
Au contraire de si quelque chose existe ... je passe ? sinon je le créer.
Si "${mondossier}" est vide ou n'existe pas ça va planter.