OVH Cloud OVH Cloud

[SHELL] lancement d'un script

3 réponses
Avatar
michael p
Bonjour

j'ecris un script shell qui doit se lancer obligatoirement avec un
parametre.

seulement je ne sais pas comment faire pour ecrire une telle obligation.

je souhaite que lorsque je lance "./appro.sh " il y ait un message qui
me dise qu'il faut entrer tel ou tel parametre...

quelqu'un peut il m'aider,svp?

merci

Michael



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

3 réponses

Avatar
Hervé Hounzandji
michael p a écrit :

Bonjour

j'ecris un script shell qui doit se lancer obligatoirement avec un
parametre.

seulement je ne sais pas comment faire pour ecrire une telle obligation.

je souhaite que lorsque je lance "./appro.sh " il y ait un
message qui me dise qu'il faut entrer tel ou tel parametre...

quelqu'un peut il m'aider,svp?

merci

Michael





Je t'envoie un exemple:

#!/bin/sh
if [ $# != 3 ]
then
echo "USAGE $0 argument1 argument2 argument3"
exit 1
else
...
fi

$0 est le nom de ton script
si l'utilisateur tape $0 et moins de 3 argument ou plus de 3 arguments,
le message devant echo est affiché pour lui indiquer comment utiliser le
script.
Si ça p t'aider.

--
Hervé Hounzandji
Dsi-Dae - Rectorat Nancy-Metz
tél : 03 83 86 27 66
www.ac-nancy-metz.fr
----------------------------------------------
"Prenez soin de Vous. Chaque jour est une Vie"



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Lundi 6 mars 2006, 13:05:59 CET, michael p a écrit :

Bonjour



'jour,

j'ecris un script shell qui doit se lancer obligatoirement avec un
parametre.

seulement je ne sais pas comment faire pour ecrire une telle obligation.

je souhaite que lorsque je lance "./appro.sh " il y ait un
message qui me dise qu'il faut entrer tel ou tel parametre...

quelqu'un peut il m'aider,svp?



La solution simple est de tester si $1 est vide :

if [ -z "$1" ]; then
usage
exit 1
fi

Par contre, si tu veux accepter "" (chaîne vide) comme argument valide,
c'est drôlement plus compliqué : il faut compter le nombre d'arguments !

if [ "$#" = "0" ]; then
usage
exit 1
fi

--
Sylvain Sauvage
Avatar
les fred
Bonjour,
il faut utiliser la variable $# qui indique le nombre
de parametre

un exemple:

#test si on a passer 3 parametres
if [ $# -ne 3 ] # si le nombre de parametres
n'est pas 3
then # affiche l'usage
echo "Usage: $0 <fichier entete> <fichier de
donnee> <fichier en sortie>"
exit 1
fi

et un peut de doc:
http://www.linux-nantes.fr.eu.org/old/docs/xavier/prog_sh/prog_sh-5.html#ss5.2

Fred

--- michael p a écrit :

Bonjour

j'ecris un script shell qui doit se lancer
obligatoirement avec un
parametre.

seulement je ne sais pas comment faire pour ecrire
une telle obligation.

je souhaite que lorsque je lance "./appro.sh "
il y ait un message qui
me dise qu'il faut entrer tel ou tel parametre...

quelqu'un peut il m'aider,svp?

merci

Michael



--
Pensez à lire la FAQ de la liste avant de poser une
question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs
"From" et "Reply-To:"

To UNSUBSCRIBE, email to

with a subject of "unsubscribe". Trouble? Contact











___________________________________________________________________________
Découvez le nouveau Yahoo! Messenger : appelez vers des téléphones en France et à partir de 0,012 €/minute !
Téléchargez sur http://fr.messenger.yahoo.com


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact