Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:david5647:tutos:bash-gerer-les-parametres [24/03/2021 17:12] David5647 [Introduction] |
utilisateurs:david5647:tutos:bash-gerer-les-parametres [24/03/2021 17:20] (Version actuelle) David5647 [Introduction] |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | Voici quelques exemples permettant de créer des scripts bash possédants une gestion plus fine des paramètres d'entrées qu'un simple $@. | + | Voici quelques exemples permettant de créer des scripts bash possédants une gestion plus fine des paramètres d'entrées plutôt que la simple utilisation de leur position ($1, $2, ...) |
Avec ces scripts, vous pourrez supporter : | Avec ces scripts, vous pourrez supporter : | ||
Ligne 18: | Ligne 18: | ||
- Des paramètres booléens | - Des paramètres booléens | ||
<code>./script -o</code> | <code>./script -o</code> | ||
+ | |||
Le détail de fonctionnement des scripts est inclut en commentaire. | Le détail de fonctionnement des scripts est inclut en commentaire. | ||
- | ==== Paramètre booléen ==== | + | **bonus** : pour dé-commenter les scripts : <code user> cat script.sh | sed '/^\s*#/d' | sed 's/#.*$//' > script_sans commentaires.sh |
+ | </code> | ||
+ | |||
+ | ===== Paramètre booléen ===== | ||
=== Utilisation === | === Utilisation === | ||
Ligne 52: | Ligne 55: | ||
- | ==== Paramètre & valeur ==== | + | ===== Paramètre & valeur ===== |
=== Utilisation === | === Utilisation === | ||
Ligne 80: | Ligne 83: | ||
</file> | </file> | ||
- | ==== Paramètres nommé et court (-p) avec getopts ==== | + | ===== Paramètres nommé et court (-p) avec getopts ===== |
**getopts** fait parti des buildins de bash, ce qui permet d'être sûr son implémentation (dès lors que l'on utilise bash) | **getopts** fait parti des buildins de bash, ce qui permet d'être sûr son implémentation (dès lors que l'on utilise bash) | ||
Ligne 168: | Ligne 171: | ||
</file> | </file> | ||
- | ==== Paramètres nommé et court (-p) et arguments positionnels avec getopts ==== | + | ===== Paramètres nommé et court (-p) et arguments positionnels avec getopts ===== |
**getops** ne gère pas les arguments positionnels, ce script permet leur implémentation | **getops** ne gère pas les arguments positionnels, ce script permet leur implémentation | ||
Ligne 249: | Ligne 252: | ||
</file> | </file> | ||
- | ==== Tout type de paramètre ==== | + | ===== Tout type de paramètre ===== |
Pour permettre l'utilisation d'argument long (--long) ou créer une implémentation compatible POSIX, | Pour permettre l'utilisation d'argument long (--long) ou créer une implémentation compatible POSIX, | ||
Ligne 351: | Ligne 354: | ||
- | ==== Séparer les paramètres ==== | + | ===== Séparer les paramètres ===== |
Dans le cas de paramètres inconnus à l'avance, ou pour un script plus leger, cette fonction permet de trier les différents arguments en fonction de leur type supposé (positional(//arg//), named (//-n arg//), option (//-o//)) et les stocke dans 3 variables différentes. | Dans le cas de paramètres inconnus à l'avance, ou pour un script plus leger, cette fonction permet de trier les différents arguments en fonction de leur type supposé (positional(//arg//), named (//-n arg//), option (//-o//)) et les stocke dans 3 variables différentes. |