Comment mettre en garde contre l'utilisation de variables non définies dans un script KornShell.

StackOverflow https://stackoverflow.com/questions/325424

Question

Existe-t-il un moyen de générer des erreurs ou des avertissements dans un script KornShell (ksh) afin d’empêcher l’utilisation de variables non définies? Supposons que je souhaite supprimer un dossier temporaire.

TEMP_FILES_DIR='/app/myapp/tmp'
rm -Rf $TEMP_FILE_DIR #notice the misspelling

Comment prévenir ce genre d’erreurs avant qu’elles ne se produisent réellement?

Je sais que le script doit vérifier l'existence du fichier et la chaîne vide avant de tenter de le supprimer. Il ne s'agit que d'un exemple ridicule pour illustrer une erreur qui aurait pu être évitée avec certains avertissements. Je ne sais pas si cette fonctionnalité existe en ksh. Si cela existe, comment l’allumez-vous?

Était-ce utile?

La solution

La commande

set -u

Entraînera le tressaillement de POSIX sh (1) lors de la tentative d'extension d'une variable non définie.

Exemple:

$ echo $foo

$ set -u
$ echo $foo
sh: foo: parameter not set

Autres conseils

Vous pouvez vérifier si la variable a du contenu, c'est-à-dire qu'elle n'est pas '', et imprimer un message du type "la variable est vide".

Cependant, cela ne résout toujours pas les erreurs PEBCAK de la sorte. Tout ce que vous savez, c'est que rien ne s'est passé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top