Une question un peu compliquée [Shell Unix] - Programmation
Marsh Posté le 05-04-2002 à 19:07:35
if [ -z $toto ]; then
echo Pas pu initialiser var2.
else
export var2="$toto"
fi
Marsh Posté le 05-04-2002 à 23:49:40
Jar jar : -z vérifie qu'une variable est une chaîne vide, pas qu'elle n'est pas définie!
A mon avis, tu as tout intérêt a ajouter :
if [ ! $toto] || [ -z $toto ] ; then
...
Marsh Posté le 06-04-2002 à 13:30:29
gfive a écrit a écrit : Jar jar : -z vérifie qu'une variable est une chaîne vide, pas qu'elle n'est pas définie! |
Oui, mais en sh, contrairement au csh, une variable non définie apparaît comme une chaîne vide.
Marsh Posté le 06-04-2002 à 19:33:46
ah, bah j'aurais appris qqchose, alors!!
Mais en bash, il faut mettre les deux.
Marsh Posté le 05-04-2002 à 19:01:33
Salut,
voilà, ça peut paraître idiot comme truc, mais c'est ça qu'on me demande de faire.
En gros, dans un fichier de conf, je dois faire des :
export var1 = ...
export var2 = ...
...
Et je dois vérifier ensuite si toutes les variables sont bien exportées.
Bon, c'est pas difficile, mais voilà le problème :
export var1 = ...
export var2 = $toto
où $toto est une variable qui n'a pas été définie.
Le shell me renvoit var2 : parameter null or not set, et sort sans que je puisse faire le contrôle qui suit. Donc, on ne peut par exemple pas loguer qu'un paramètre n'a pas été bien initialisé.
Est-ce que quelqu'un voit comment faire en sachant qu'on ne peut toucher au fichier de conf.