En este tutorial, aprenderemos a almacenar el resultado de un comando Linux en una variable. Esta manipulación simple es muy útil al escribir scripts Bash (con la extensión .sh) ya que puede ocurrir que necesites manipular el resultado de un comando. En este caso, se asigna el resultado del comando a una variable, lo que permite aprovecharlo posteriormente.
La Sintaxis: Asignar el Resultado de un Comando a una Aariable
Para almacenar el resultado de un comando en una variable, utilizaremos la siguiente sintaxis:
variable=$(comando)Así, el resultado de cualquier comando se encuentra en una variable que se puede dividir, modificar, mostrar… Puedes elegir el nombre que desees para esta variable.
Ejemplo
Tomemos un ejemplo concreto. Lo primero que hay que hacer es determinar el comando y verificar su sintaxis. Luego, cuando la sintaxis del comando es válida, podemos hacer que su resultado se almacene en una variable.
Imaginemos que deseas recuperar la fecha de ayer en la forma “<día><mes>.<año>”. Podemos usar el comando date para obtener esta información:
date -d "1 day ago" +%d%b%YEsto devuelve:
03ene.2023Es correcto. Otro formato posible es “<Año><Mes><Día>”, lo que da:
date -d "1 day ago" +%Y%m%dComo resultado:
20230103Tengamos en cuenta que es el resultado del comando date -d "1 day ago" +%d%b%Y el que deseamos almacenar en una variable. Comenzamos creando un archivo con la extensión .sh y añadimos el Shebang:
#/bin/bashLuego, crearemos una variable llamada “Yesterday” que contendrá el resultado del comando mencionado anteriormente.
#!/bin/bash
Yesterday=$(date -d "1 day ago" +%d%b%Y)Es importante encerrar el comando en un bloque "$()", como en el ejemplo anterior.
Después, podemos reutilizar esta variable como queramos… Por ejemplo, podemos crear una carpeta que tome como nombre el contenido de esta variable:
#!/bin/bash
Yesterday=$(date -d "1 day ago" +%d%b%Y)
mkdir /home/$YesterdayCuando llamamos a la variable, es imperativo anteponer su nombre con el símbolo “$” para que el nombre de la variable sea reemplazado por su valor. Gracias a este script, se crea una carpeta en “/home/” que será nombrada con la fecha de ayer.
El directorio /home/03ene2023 será creado. Si el directorio ya existe, mkdir devolverá un mensaje de error indicando que el directorio ya existe.
¡Esto, por supuesto, es solo un ejemplo! ¡A ti te toca intentarlo!







¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.