Sommaire

Variables spéciales

Certaines variables sont définies par le shell et peuvent être référencées par l’utilisateur dans les scripts shell.

1. $$, $PPID

La variable spéciale $$ contient le PID du shell en cours d’exécution tandis que $PPID (Parent Process ID) donne le PID de son processus père :

[nicolas]$ cat prog.sh 
#!/bin/bash 
echo "mon PID  : $$" 
echo "mon PPID : $PPID" 
[nicolas]$ echo $$ 
1223 
[nicolas]$ echo $PPID 
1222 
[nicolas]$ ./prog.sh 
mon PID  : 1380 
mon PPID : 1223 
[nicolas]$ . ./prog.sh 
mon PID  : 1223 
mon PPID : 1222

2. $0

La variable $0 contient le nom du script en cours d’exécution tel qu’il a été appelé sur la ligne de commande :

[nicolas]$ cat prog.sh  
#!/bin/bash 
echo "mon nom  : $0" 
[nicolas]$./prog.sh  
mon nom  : ./prog.sh 
[nicolas]$ /home/nicolas/prog.sh  
mon nom  : /home/nicolas/prog.sh

3. $1, $2, $3, ...

Les variables $1, $2, $3, etc. représentent les paramètres positionnels du shell, c’est-à-dire les arguments passés au script sur la ligne de commande :

[nicolas]$ cat prog.sh 
#!/bin/bash 
echo "premier paramètre   : $1" 
echo "deuxième paramètre  : $2" 
echo "troisième paramètre : $3" 
[nicolas]$ ./prog.sh a b c 
premier paramètre   : a 
deuxième paramètre ...