Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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