Question script commande

Bonsoir a tous,
je decouvre les scripts depuis quelques jours et je cherche a faire quelque chose d'assez simple je l'espere ^^

j'ai crée un script qui test si le 1er parametre est bien un repertoire et s'il n'y a pas d'autres parametres en entrée de script ( simple exemple d'explication) et je me rends compte que j'utilise assez souvent ce test c'est pourquoi j'aurais voulu l'utiliser dans d'autres scripts

c'est a dire : j'ai un script "test_parametre"
je crée un nouveau script et je l'ecris comme ceci au depart :

test_parametre $*

var=$?

if [ $var -eq 0 ]
then
blablabla
fi

mais cela ne marche pas...

remarque : j'ai mis le repertoire de mes scripts dans mon PATH avec PATH=$PATH:~/XXX

merci d'avance
Configuration: Linux
Firefox 3.0.15

3 réponses

  1. Modérateur
    Salut,

    Qu'entends-tu par "mais cela ne marche pas... " ?
    Qu'est-ce qui ne marche pas ? L'appel du script ou le test du code retour ?
    1. les deux.

      j'ai dans test_parametre plusieurs echo

      mais pas de retour dans le shell quand je lance un script avec des parametres a tester.

      je joins mes deux scripts

      test_parametre :
      ------------------------------------------------------
      # verification de l'existence du parametre saisi en entré
      if [ $# -eq 0 ]
      then
      d=./
      else if [ -d $1 ] && [ $# -eq 1 ]
      then
      d=$1
      else
      if [ ! -d $1 ]
      then
      echo " "
      echo erreur de parametre, ceci n''est pas un repertoire
      fi
      if [ ! $# -eq 1 ]
      then
      echo " "
      echo erreur sur le nombre de parametre, un seul parametre demandé
      fi
      echo " "
      echo arret du script $0
      exit 1
      fi
      fi
      ------------------------------

      et l'autre script :
      ----------------------------
      test_parametre $*

      var=$?

      if [ $var -eq 0 ]
      then
      echo coucou
      fi
      -------------------------------
      1. Modérateur
        Est-ce que ton script "test_parametre" lancé tout seul marche bien ?

        Parce que si tu l'as copié/collé tel quel, il doit y avoir un problème à cause du guillemet à la place de l'apostrophe dans la négation :

        echo erreur de parametre, ceci n''est pas un repertoire
        __________________________________^______________________

        ;-(