Variables especiales
Ciertas variables son definidas por el shell y pueden ser referenciadas por el usuario en los scripts del shell.
1. $$, $PPID
La variable especial $$ contiene el PID del shell que se está ejecutando, mientras que $PPID (Parent Process ID) da el PID de su proceso padre:
[javier]$ cat prog.sh
#!/bin/bash
echo "mi PID: $$"
echo "mi PPID: $PPID"
[javier]$ echo $$
1223
[javier]$ echo $PPID
1222
[javier]$ ./prog.sh
mi PID: 1380
mi PPID: 1223
[javier]$ . ./prog.sh
mi PID: 1223
mi PPID: 1222
2. $0
La variable $0 contiene el nombre del script en curso de ejecución tal como ha sido llamado en la línea de comandos:
[javier]$ cat prog.sh
#!/bin/bash
echo "mi nombre: $0"
[javier]$./prog.sh
mi nombre: ./prog.sh
[javier]$ /home/javier/prog.sh
mi nombre: /home/javier/prog.sh
3. $1, $2, $3, ...
Las variables $1, $2, $3, etc. representan los parámetros posicionales del shell, es decir, los argumentos pasados al script en la línea de comandos:
[javier]$ cat prog.sh
#!/bin/bash
echo "primer parámetro: $1"
echo "segundo parámetro: $2"
echo "tercer parámetro: $3"
[javier]$ ./prog.sh a b c
primer parámetro: a
segundo parámetro: b ...