En este artículo sobre Bash y Linux te muestro cómo obtener la salida de un comando al ejecutar otro comando. Es decir, ejecutar un comando usando la salida de otro.
Por ejemplo, crear un archivo usando touch
, pero usando el comando date
para colocarle como nombre la fecha de hoy.
Compatibilidad
Puedes usar esto que te muestro en un script de bash o en la terminal escribiendo los comandos, al final ambas cosas son lo mismo.
Obteniendo salida de otro comando
Anteriormente se utilizaban los backticks pero ahora se usa $(comando)
. Así:
echo "Hola, yo soy $(whoami)"
En este caso el comando invocará a whoami
, que imprimirá mi nombre de usuario. Veamos la siguiente imagen:
Y así es como puedes obtener la salida de otro comando.
Otro ejemplo usando date
Aprendí esto al estar practicando. Estaba haciendo un respaldo de MySQL con mysqldump y quería que la salida tuviera la fecha de hoy. Investigando me di cuenta de que podía invocar a:
date --rfc-3339=date
El comando da una salida como la siguiente:
pi@binaryteam:~ $ date --rfc-3339=date
2020-03-30
pi@binaryteam:~ $
Y después invoqué a:
mysqldump -u usuario -p nombre_base_de_datos > esquema_$(date --rfc-3339=date).sql
De modo que al final se hubo creado un archivo con la fecha de hoy, mismo que contenía el esquema de la base de datos:
De hecho esto me recuerda a cuando hice un script que respalda un directorio de Linux.