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%Y
Esto devuelve:
03ene.2023
Es correcto. Otro formato posible es “<Año><Mes><Día>”, lo que da:
date -d "1 day ago" +%Y%m%d
Como resultado:
20230103
Tengamos 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/bash
Luego, 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/$Yesterday
Cuando 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.