Bash cómo ejecutar un comando en una variable?

Bash cómo ejecutar un comando en una variable?
Los scripts bash se pueden crear de diferentes maneras y la mayoría de nosotros estamos familiarizados con la ejecución de los comandos simples dentro de un script bash. Sin embargo, estos comandos también pueden encapsularse dentro de las variables en Bash. Este proceso se conoce como sustitución de comandos y generalmente se usa para almacenar la salida de un comando en una variable para que no tenga que ejecutar ese comando explícitamente una y otra vez, simplemente puede acceder a esa variable para obtener la salida de ese comando cuando quieras. En este artículo, le mostraremos cómo se puede hacer esto.

Nota: Todos los escenarios demostrados a continuación se han llevado a cabo en Ubuntu 20.04. Sin embargo, funcionarán exactamente de la misma manera con cualquier otro sabor de Linux también.

Método para ejecutar un comando en una variable en bash:

Para demostrar el método de ejecutar un comando en una variable en Bash, le presentaremos tres escenarios diferentes que son los siguientes:

Ejecutando el comando "echo" almacenado en una variable:

Este es el escenario más simple en el que nuestro objetivo es ejecutar el comando echo que se almacena en una variable. Para que suceda, tendrá que seguir la serie de pasos mencionados a continuación:

Paso # 1: Creación de un script bash:

Debe crear un script bash en su carpeta de inicio para la cual debe hacer clic en el icono del administrador de archivos como puede ver desde la siguiente imagen:

Ahora encuentre cualquier espacio en su carpeta de inicio y haga clic con el botón derecho para iniciar un menú. Seleccione la opción de nuevo documento de este menú y luego elija la opción de documento vacío en el menú subcascado. Hacer esto creará un nuevo documento en su carpeta de inicio. Ahora cambie el nombre de este documento recién creado con cualquier nombre de su elección seguido de la .Extensión SH. En nuestro caso, lo hemos nombrado como CommandVar.mierda.

Para escribir un script bash en este archivo, haga doble clic en él para abrirlo y luego escriba el script que se muestra en la imagen a continuación en su archivo bash. Aquí, la primera línea del guión i.mi. "#!/bin/bash "muestra que este archivo es, de hecho, un archivo bash. Luego hemos creado una variable llamada "prueba" y le hemos asignado el valor "$ (echo" Hola!")". Siempre que desee almacenar el comando en una variable, debe escribir ese comando precedido por un símbolo "$". En este caso, queríamos almacenar el comando "Echo" en la variable de "prueba", por lo que simplemente hemos escrito el comando "Echo" seguido de un mensaje aleatorio y lo hemos encerrado en corchetes y colocados un símbolo "$" antes él. Entonces, ahora, si queremos ejecutar este comando de "eco", tendremos que acceder a la variable "prueba". Por lo tanto, para verificar si el comando "eco" almacenado en la variable "prueba" puede ejecutarse con éxito o no, hemos impreso la salida de la variable "prueba" en el terminal haciendo uso de otro comando de "eco". Después de escribir este script, debe guardar su archivo y cerrarlo.

Paso # 2: Ejecutando el script bash a través del terminal:

Ahora tiene que ejecutar este script a través del terminal. Entonces, abra la terminal en Ubuntu 20.04 y luego escriba el siguiente comando en él:

Bash Commandvar.mierda

Cuando presione la tecla ENTER para ejecutar este comando, podrá ver la siguiente salida en su terminal. Aquí, la parte resaltada de la salida es la salida del comando "Echo" que se almacenó en la variable "Prueba".

Ejecutando el comando "SEQ" almacenado en una variable:

En este escenario, imprimiremos una secuencia de números utilizando el comando "SEQ" almacenado en una variable. Para hacer que suceda, modificaremos el script bash creado anteriormente realizando los siguientes pasos:

Paso # 1: Modificación del script bash creado anteriormente:

Abra el archivo bash que ha creado en el método anterior y escriba el siguiente script en él. Aquí, hemos creado una variable llamada "secuencia". Nuestro objetivo es imprimir los números del 1 al 10 mientras se usa el comando "SEQ". Para hacer eso, hemos asignado el valor "$ (SEQ 1 10)" a la variable "secuencia". También puede especificar cualquier otro rango de números de su elección si lo desea. El primer número después del comando "SEQ" indica el límite inferior de la secuencia, mientras que el segundo número se refiere al límite superior. Después de escribir este script, guarde su archivo y cierre.

Paso # 2: Ejecutando el script bash modificado a través del terminal:

Ahora ejecute su script bash de la misma manera que se explicó anteriormente y podrá ver la secuencia especificada en su terminal como se muestra en la imagen a continuación:

Ejecución del comando 'pwd' almacenado en una variable:

También puede imprimir su directorio de trabajo haciendo uso del comando "PWD" almacenado en una variable. Para demostrar esto, modificaremos el script bash creado anteriormente una vez más siguiendo los pasos mencionados a continuación:

Paso # 1: Modificación del script bash creado anteriormente:

Abra el archivo bash que acaba de modificar y luego escriba el script que se muestra en la siguiente imagen en él. En este script, hemos creado una variable llamada "working_directory" y le hemos asignado el valor "$ (pwd)". El comando "pwd" simplemente almacenará su salida i.mi. El directorio de trabajo actual en la variable "working_directory". Para garantizar si el comando "PWD" se ha ejecutado correctamente o no, hemos impreso el valor de la variable "Working_Directory" en el terminal utilizando el comando "Echo". Ahora guarde este archivo y luego cierre después de escribir el script bash modificado en él.

Paso # 2: Ejecutando el script bash modificado a través del terminal:

Ahora ejecute este script bash de la misma manera que se explicó anteriormente. La salida de este script bash le mostrará el directorio de trabajo actual. La parte resaltada de la salida es de hecho, la salida del comando "pwd".

Conclusión:

Este artículo da una muy buena idea de cómo puede ejecutar un comando que se almacena dentro de una variable en Bash y puede obtener el mismo resultado que habría obtenido si ejecute el comando de forma independiente.