Forum Programmation.shell variable d'environnement

Posté par  .
Étiquettes : aucune
0
16
mar.
2006
Bonjour a tous,

j'ai declare une variable d'environnement a l'exterieur de mon script

SUBSCRIPT=mail
export $SUBSCRIPT

ma question est comment dans un script shell, voire si cette variable est renseigne sans la lance bien sur, juste pour voir si elle n'est pas vide.

car quand je fais ca :

if [ ${SUBSCRIPT} ]
then
echo "subscript defined"
else
echo "not defined"
fi

il me lance le program mail !!!

merci
  • # c'est bon

    Posté par  . Évalué à 2.

    c'est bon j'ai trouve ...

    if [ $?SUBSCRIPT ]
  • # variable d'environnement

    Posté par  . Évalué à 3.

    Je te conseille la page suivante (pour le scripting de tous les jours :) :

    #> man test

    L'option -z peut être utilisée :

    if [ ! -z $SUBSCRIPT ]
    then
    ...

    Ou, plus fréquemment, utlisée dans les scripts, l'écriture suivante :

    if [ ! "X$SUBSCRIPT" = "X" ]
    then
    ...

    z4.
    • [^] # plus simple

      Posté par  . Évalué à 3.

      if [ -n "$SUBSCRIPT" ]
      then
      ...

      -n : teste qu'une chaine n'est pas nulle
      et note la présence des "" autour de la variable : pour ne pas être embêté quand elle n'est pas définie ....
  • # test

    Posté par  . Évalué à 3.


    export SUBSCRIPT='/usr/bin/mail'
    if [ -x ${SUBSCRIPT} ] then
    echo "subscript defined"
    else
    echo "cannot execute ${SUBSCRIPT}"
    fi


    en même temps ce test vérifiera si $SUBSCRIPT est exécutable...
    exporter une variable n'est pas exporter son contenu...(houst le $, t'es pas en perl)
    nb: il vaut mieux mettre le chemin complet de ta commande dans la variable

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.