Bash ¿Cómo Ejecutar un Comando en una Variable?
On noviembre 22, 2021 by adminLos scripts de Bash pueden ser creados en una variedad de formas diferentes y la mayoría de nosotros estamos familiarizados con la ejecución de los comandos simples dentro de un script de Bash. Sin embargo, estos comandos también pueden ser encapsulados dentro de las variables en Bash. Este proceso se conoce como sustitución de comandos y generalmente se utiliza para almacenar la salida de un comando en una variable para que no tengas que ejecutar ese comando explícitamente una y otra vez, sino que simplemente puedes 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 de ejecución de un comando en una variable en Bash:
Para demostrar el método de ejecución de un comando en una variable en Bash, le presentaremos tres escenarios diferentes que son los siguientes:
Ejecución del comando «echo» almacenado en una variable:
Este es el escenario más sencillo en el que nuestro objetivo es ejecutar el comando echo que está almacenado en una variable. Para hacer que suceda, tendrás que seguir la serie de pasos que se mencionan a continuación:
Paso # 1: Crear un script Bash:
Tienes que crear un Bash Script en tu carpeta de Inicio para lo cual necesitas hacer clic en el icono del Administrador de Archivos como puedes ver en la siguiente imagen:
Ahora busca cualquier espacio en tu carpeta de Inicio y haz clic con el botón derecho en él para lanzar un menú. Seleccione la opción Nuevo documento de este menú y, a continuación, elija la opción Documento vacío del menú en cascada. Al hacer esto se creará un nuevo documento en tu carpeta de Inicio. Ahora renombra este documento recién creado con cualquier nombre de tu elección seguido de la extensión .sh. En nuestro caso, lo hemos nombrado como CommandVar.sh.
Para escribir un script Bash en este archivo, haz doble clic en él para abrirlo y luego escribe el script que se muestra en la imagen de abajo en tu archivo Bash. Aquí, la primera línea del script, es decir, «#!/bin/bash» muestra que este archivo es de hecho un archivo Bash. Luego hemos creado una variable llamada «test» y le hemos asignado el valor «$(echo «¡Hola!»)». Siempre que quieras almacenar el comando en una variable, tienes que escribir ese comando precedido por el símbolo «$». En este caso, queríamos almacenar el comando «echo» en la variable «test», así que simplemente hemos escrito el comando «echo» seguido de un mensaje aleatorio y lo hemos encerrado entre corchetes, y hemos colocado un símbolo «$» delante. Así que ahora, si queremos ejecutar este comando «echo», tendremos que acceder a la variable «test». Por lo tanto, para verificar si el comando «echo» almacenado en la variable «test» puede ser ejecutado con éxito o no, hemos impreso la salida de la variable «test» en la terminal haciendo uso de otro comando «echo». Después de escribir esta secuencia de comandos, es necesario guardar el archivo y cerrarlo.
Paso # 2: Ejecutar la secuencia de comandos Bash a través de la Terminal:
Ahora usted tiene que ejecutar esta secuencia de comandos a través de la terminal. Por lo tanto, abra el terminal en Ubuntu 20.04 y, a continuación, escriba el siguiente comando en él:
Cuando se presiona la tecla Enter para ejecutar este comando, usted será capaz de 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 «test».
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, vamos a modificar la secuencia de comandos Bash creado anteriormente mediante la realización de los siguientes pasos:
Paso # 1: Modificación de la secuencia de comandos Bash creado anteriormente:
Abra el archivo Bash que ha creado en el método anterior y escriba la siguiente secuencia de comandos en él. Aquí, hemos creado una variable llamada «secuencia». Nuestro objetivo es imprimir los números del 1 al 10 mientras usamos el comando «seq». Para ello, hemos asignado el valor «$(seq 1 10)» a la variable «sequence». 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 ciérrelo.
Paso # 2: Ejecutar el script Bash modificado a través de la 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 siguiente:
Ejecutando el comando ‘pwd’ almacenado en una variable:
También puedes imprimir tu directorio de trabajo haciendo uso del comando «pwd» almacenado en una variable. Para demostrar esto, vamos a modificar el script Bash creado anteriormente una vez más siguiendo los pasos mencionados a continuación:
Paso # 1: Modificar el script Bash creado anteriormente:
Abre el archivo Bash que acabas de modificar y luego escribe en él el script que se muestra en la siguiente imagen. En este script, hemos creado una variable llamada «working_directory» y le hemos asignado el valor «$(pwd)». El comando «pwd» simplemente almacenará su salida, es decir, el directorio de trabajo actual, en la variable «working_directory». Para asegurarnos de que el comando «pwd» se ha ejecutado correctamente o no, hemos imprimido el valor de la variable «working_directory» en la terminal utilizando el comando «echo». Ahora guarde este archivo y luego ciérrelo después de escribir el script Bash modificado en él.
Paso # 2: Ejecutar el script Bash modificado a través de la 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 le da una muy buena idea de cómo puede ejecutar un comando que está almacenado dentro de una variable en Bash y puede obtener la misma salida que habría obtenido si ejecutara el comando independientemente.
Deja una respuesta