Question script commande

argum2 Messages postés 33 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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 ?
    0
  2. argum2 Messages postés 33 Statut Membre
     
    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
    -------------------------------
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
    __________________________________^______________________

    ;-(
    0