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
Suscripción
acceso ilimitado a todos los libros de ENI sin compromiso de permanencia
libro impreso o digital online