Script shell

Fermé
Melo96 - Modifié par Melo96 le 4/08/2016 à 12:38
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 4 août 2016 à 18:42
Bonjour chers amis
J'ai un problème par rapport à mon devoir de maison à rendre samedi
Je voulais savoir quand je passe une option en paramètres dans un script est ce qu'il y a une fonction en bash qui me permet de savoir si le
Paramètre est une option ou un argument simple.
Exemple:
Nomscript -a -b -c Bonjour bonsoir
La fonction me dira -abc sont des options et bonjour bonsoir sont des arguments simple.
Si une telle fonction existe pardonner donnée moi la syntaxe.


La deuxième idée que j'ai eu c'est de pouvoir extraire la première lettre et de comparé à + ou - et dire si c'est une option ou pas.
Si ces possibles d'extraire une lettre comment procéder.


Merci d'avance
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
4 août 2016 à 14:31
Salut,

Le plus simple pour toi serait de faire une boucle sur chaque paramètre (aide-toi de cette FAQ) et de tester le début de chaque chaîne.
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
4 août 2016 à 18:42
Par exemple
johand@bata:~$ truc=-a
johand@bata:~$ if [ X"${truc}" != X"${truc#-}" ] ; then echo "Option!" ; fi
Option!
johand@bata:~$ truc=a
johand@bata:~$ if [ X"${truc}" != X"${truc#-}" ] ; then echo "Option!" ; fi
johand@bata:~$


Notons qu'une pratique habituelle est la possibilité de terminer les options avec un paramètre "--". Les arguments suivants seront alors des
parametres non option.
Le parseur devra évidemment déterminer si une option nécessite elle-même un paramètre afin de lever toute ambiguïté.
exemple :
 ma_commande -a -b -p /home -- p1 p2 -a 

Le premier "-a" est une option, le second est un paramètre simple.
0
Utilisateur anonyme
4 août 2016 à 17:42
Des gens ont école en Août ?
-1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
4 août 2016 à 17:52
Le net est universel et ccm ne s'arrête pas aux frontières françaises ;-)
0