Cómo asignar la salida de un comando Linux a una variable - bash

Cómo asignar la salida de un comando Linux a una variable - bash
En Bash, es común ejecutar comandos de Linux y capturar su salida para su uso posterior en un script. Puede asignar la salida de un comando a una variable utilizando la sustitución del comando, que es una característica de Bash que le permite ejecutar un comando y reemplazarlo con su salida. Hay dos formas de asignar salida a una variable y esas son:
  • A través de la sustitución del comando
  • A través de backticks

1: Cómo usar la sustitución del comando para asignar la salida de un comando Linux a una variable

Una forma de asignar la salida de un comando Linux a una variable en Bash es usar la sustitución del comando con la sintaxis $ () y aquí está la sintaxis completa para ella:

= $ (comando)

Aquí hay un ejemplo que guarda la salida del comando del nombre de host en una variable utilizando la sintaxis dada anteriormente:

#!/bin/bash
# Asigne la salida del comando 'hostname' a la variable 'find_hostname'
find_hostname = $ (nombre de host)
# Imprima el valor de la variable 'hostname'
echo "Tu nombre de host es:" $ find_hostname

En este ejemplo, utilizamos el comando de nombre de host para obtener el nombre del host actual, y luego asignamos la salida a la variable Find_hostName usando la sustitución del comando. Finalmente, imprimimos el valor de la variable Find_hostName usando el comando echo:

2: Cómo usar Backticks para asignar la salida de un comando Linux a una variable

Otra forma de asignar la salida de un comando Linux a una variable es usar Backticks (') en lugar de paréntesis y a continuación se encuentra la sintaxis:

=<'command'>

Para explicar más a fondo cómo usar este método, he dado un código bash de ejemplo que solo lee la ruta o el directorio actual.

#!/bin/bash
# Asigne la salida del comando 'hostname' a la variable 'find_hostname'
find_hostname = 'hostname'
# Imprima el valor de la variable 'hostname'
echo "su nombre de host es:" $ find_hostname

En este ejemplo, utilizamos el comando pwd para obtener el directorio de trabajo actual, y luego asignamos la salida a la variable Current_Dir usando Backticks. Finalmente, imprimimos el valor de la variable Current_DIR usando el comando echo:

Conclusión

Asignar la salida de un comando Linux a una variable es una tarea común en las secuencias de comandos bash y se puede lograr utilizando la sustitución del comando con paréntesis o retroceso. Al usar estas técnicas, puede capturar la salida de un comando y usarlo en sus scripts para realizar varias tareas. Puede usar cualquiera de estos tres métodos para asignar la salida de un comando Linux a una variable en Bash, dependiendo de sus necesidades y preferencias específicas.