Índice

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   ...