Vous êtes ici: Utilitaires / Programmation en BASH / 3 - Les variables / 3.3 - Paramètres positionnels (arguments)
Tuesday, 17/07/2018

3.3 - Paramètres positionnels (arguments)

Soit le programme suivant (test.sh):

#!/bin/bash
echo
echo "$2 $3 est un enseignant en $4 à $1"
echo
echo "$0 a été appelé avec $# arguments, soit $@"
echo

 

Les paramètres positionnels sont des variables de l'interpréteur BASH qui contiennent les arguments d'une commande. Ces paramètres positionnels sont nommés $1, $2, $3, etc. et représentent dans l'ordre le premier argument, puis le deuxième et ainsi de suite. Soit l'appel d'un script BASH de la façon suivante:

test.sh Teccart Christian Lépine TSO

 

Le paramètre positionnel $1 contient Teccart, $2 contient Christian, $3 contient Lépine, $4 contient TSO et enfin les paramètres $5 à $N sont vides. Il existe aussi le paramètre $0 qui contient test.sh soit le nom du programme. Le paramètre $@ contient tous les arguments. $$ représente le numéro de la tâche qui a été assignée à ce script, enfin $# permet d'obtenir le nombre d'arguments non-vides (ici 4).

La commande shift permet de décaler vers la gauche les valeurs des paramètres positionnels.

Par exemple, si:

$1 <= "ALLO"
$2 <= "bonjour"
$3 <= 12


après l'exécution de la commande shift, les paramètres positionnels auront comme valeur:

$1 <= "bonjour"
$2 <= 12