Índice

Sustitución de comandos

La sustitución de comandos consiste en recuperar la salida de un comando en la línea de comandos. Las salidas de comandos pueden utilizarse para la asignación de una variable o como argumento de otro comando.

El shell efectúa las sustituciones de comandos antes de interpretar la línea de comandos en su totalidad.

La sintaxis clásica de una sustitución de comandos utiliza el apóstrofe invertido (o acento abierto, o "back quote") obtenido con la tecla [`]+[espacio] en un teclado español:

[javier]$ whoami 
javier 
[javier]$ echo "mi login es ’whoami’" 
mi login es javier 
[javier]$ milogin=’whoami’ 
[javier]$ echo "mi login es $milogin" 
mi login es javier

La ventaja de asignar la salida de un comando a una variable radica en poder reutilizar varias veces el resultado evaluando una sola vez el comando.

La segunda sintaxis admitida para la sustitución de comandos es $(). La ventaja de esta sintaxis reside en poder anidar las sustituciones de comandos:

[javier]$ echo ’contenido de mi directorio: $(ls /home/$(whoami))’ 
contenido de mi directorio: blanco 
azul 
amarillo 
marrón 
rojo 
verde 
violeta