[KSH] getopts et paramètres sur plusieurs caractères

getopts et paramètres sur plusieurs caractères [KSH] - Shell/Batch - Programmation

Marsh Posté le 22-06-2005 à 09:09:21    

Bonjour,
 
en KSH, pour obtenir des paramètres, je fais souvent ça :
 

Code :
  1. while getopts i:o: option
  2. do
  3.          case "$option" in     
  4. i)
  5.  fichierIN=$OPTARG;
  6.  ;;
  7. o)
  8.  fichierOUT=$OPTARG;
  9.  ;;
  10.        *) echo "Option inconnue"
  11.          shift ;
  12.          ;;
  13.         esac
  14. done


 
 
ça fonctionne bien.
 
Mais voila ça marche pour des paramètres sur 1 caractère (i;o)
 
Si j'ai un paramètre sur 3 caractères (exemple : -val) ça fonctionne plus car si je déclare i:val:o:
getopts pense que c'est une combinaison de soit v, soit a, soit l...
 
Existe t-il un moyen simple de prendre des paramètres sur plusieurs caractères ?

Reply

Marsh Posté le 22-06-2005 à 09:09:21   

Reply

Marsh Posté le 22-06-2005 à 16:54:06    

Le getopt de GNU a une option -l pour prendre des arguments longs. Dans ce cas il faut utiliser --val, pas -val. Par contre je ne sais pas quel est ton systeme, mais ton getopt n'a probablement pas ce flag (AIX ne l'a pas).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed