Question script commande

Fermé
argum2 Messages postés 32 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 16 janvier 2010 - 24 nov. 2009 à 22:49
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 25 nov. 2009 à 09:32
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
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
24 nov. 2009 à 23:20
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
argum2 Messages postés 32 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 16 janvier 2010
24 nov. 2009 à 23:59
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 nov. 2009 à 09:32
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