Dans les shells Unix (comme bash, zsh, etc.), les paramètres de position sont des variables spéciales qui stockent les arguments passés à un script ou une fonction. Ils sont numérotés à partir de 1.
* `$1` :contient le premier argument.
* `$2` :contient le deuxième argument.
* `$3` :contient le troisième argument, et ainsi de suite.
`$0` est un cas particulier :il contient le nom du script ou de la fonction lui-même.
Exemple :
Supposons que vous ayez un script nommé « my_script.sh » avec le contenu suivant :
```bash
#!/bin/bash
echo "Le nom du script est :$0"
echo "Le premier argument est :$1"
echo "Le deuxième argument est :$2"
```
Si vous l'exécutez comme ceci :
```bash
./my_script.sh bonjour tout le monde
```
Le résultat serait :
```
Le nom du script est :./my_script.sh
Le premier argument est :bonjour
Le deuxième argument est :monde
```
Considérations importantes :
* Nombre d'arguments : Vous pouvez accéder aux arguments jusqu'au numéro fourni. Tenter d'accéder à `$4` alors que seulement trois arguments ont été donnés entraînera une chaîne vide ou une erreur, selon le shell et la façon dont le script est écrit.
* Citation : Des citations appropriées sont cruciales lorsqu'il s'agit d'arguments contenant des espaces ou des caractères spéciaux. Citez toujours vos paramètres de position lorsque vous les utilisez dans des commandes pour éviter les problèmes de fractionnement de mots et de globalisation. Par exemple :`echo "$1"` est plus sûr que `echo $1`.
* `$@` et `$*` :ces variables spéciales offrent des moyens alternatifs d'accéder à tous les paramètres de position. `$@` se développe en chaque argument individuellement, entre guillemets, tandis que `$*` se développe en une seule chaîne contenant tous les arguments. `$@` est généralement préféré pour sa gestion plus sûre des arguments avec des espaces.
* `shift` :La commande `shift` supprime le premier paramètre de position et décale les autres vers la gauche. Ceci est utile pour traiter les arguments de manière séquentielle.
Essentiellement, les paramètres de position constituent un mécanisme fondamental pour transmettre des données aux scripts et fonctions shell Unix, permettant flexibilité et réutilisation.
|