Question script commande
argum2
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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
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:
- Question script commande
- Invite de commande - Guide
- Script vidéo youtube - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Mas script - Accueil - Windows
3 réponses
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 ?
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 ?
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
-------------------------------
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
-------------------------------
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
__________________________________^______________________
;-(
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
__________________________________^______________________
;-(