Pages : 1
#1 Le 25/02/2008, à 16:05
- LCoileux
[csh] ajouter options à un script
Bonjour à tous
Débutant dans la programmation csh, on m'a demandé d'ecrire un script pouvant accepter deux options -l et -m.
Me renseignant comment faire cela, j'ai vu qu'il fallait utiliser la commande getopts. Cependant, tous les documents que j'ai trouvés sur le net n'etaient pas tres "pedagogiques", et il était assez difficile pour moi de tout comprendre.
Je sollicite alors votre aide pour savoir comment, en gros, utiliser cette commande.
J'ai cru comprendre qu'il fallait que je fasse comme cela:
while getopts "lm" Option do
case $Option in
l) #detruire tous les fichiers .class du repertoire
m) #detruire les fichiers .class dont le fichier .java correspondant à été modifié
esac
done
mais je ne sais pas si cette syntaxe est juste, et où je dois la placer.
Merci de votre aide
Hors ligne
#2 Le 27/02/2008, à 12:41
- trucutu
Re : [csh] ajouter options à un script
Tu insères ces lignes dans un fichier texte avec les droits d'exécution qui commence par
#!/usr/bin/csh
je pense...
Et tu testes ensuite
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#3 Le 27/02/2008, à 20:51
- LCoileux
Re : [csh] ajouter options à un script
Bon, je me suis arrangé avec getopt plutot qu'avec getopts, et ca marche.
Seulement voila, il faut que je verifie si l'option entrée est valide ou pas. J'ai donc tapé ceci:
if (($#argv == 3)&&(("-m" != $1)||("-l" != $1))) then
echo "ERREUR: l'option passée n'est pas valide"
exit(3)
endif
Seulement, lorsque j'essaie avec n'importe quel option differente de -l et -m, il me dit bien que l'option n'est pas valide, mais aussi quand je le teste avec -m. Et lorsque j'essaie avec -l, il me dit "if: missing file name".
Comment faire pour renvoyer un message d'erreur lorsque l'option n'est pas -l ou -m ?
Dernière modification par LCoileux (Le 29/02/2008, à 21:07)
Hors ligne
#4 Le 29/02/2008, à 23:10
- LCoileux
Re : [csh] ajouter options à un script
up
Hors ligne
#5 Le 01/03/2008, à 09:21
- KristoV
Re : [csh] ajouter options à un script
Il me semblerait que pour tester des valeurs, ce soit plutôt un truc comme ça, nan ?
#!/bin/bash
if [[ $1 == $a ]]
then echo OUI
else echo >&2 NON
fi
(source http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/ar01s10.html)
Hors ligne
#6 Le 01/03/2008, à 11:50
- LCoileux
Re : [csh] ajouter options à un script
Merci mais je travaille en csh
Hors ligne