Interpolación de variables en Bash Script
Este artículo trata sobre el uso de variables en un script Bash y cómo interpolar estas variables en un script Bash.
Variables en Bash Script
Cada lenguaje de programación tiene variables que tienen tipos de datos específicos. De manera similar, las secuencias de comandos de Bash también nos permiten usar variables para almacenar nuestros valores de datos.
A diferencia de los otros lenguajes de programación, Bash no nos restringe de tener un tipo de datos de las variables. Las variables de Bash pueden contener cadenas, números, caracteres o cualquier cosa que desee.
Además, no necesitamos declarar una variable para usarla. Simplemente asignarle un valor antes de referenciarlo es suficiente.
Veamos el ejemplo simple de crear y usar una variable:
#!/bin/bash
var="Hello World"
echo $var
Este script crea y almacena la variable var
como un valor de cadena. Posteriormente, en la siguiente línea, imprimimos el valor de esa variable.
Tenga en cuenta que para hacer referencia a una variable, usamos un signo $
para reemplazar el valor cuando se ejecuta el script.
Interpolación de variables en Bash Script
A menudo necesita usar el valor de la variable y concatenarlo con otro texto o número. Para eso, necesitamos llaves para hacer referencia a una variable.
Surge la pregunta de dónde usar llaves {}
y dónde usar llaves redondas ()
. Veamos la diferencia entre los dos.
Uso de llaves {}
Las llaves se conocen como expansión de parámetros. Las llaves se usan cuando necesitamos imprimir un carácter que no sea un espacio después del valor de la variable.
Luego, ponemos nuestra variable dentro de las llaves {}
así:
#!/bin/bash
var="Hello"
echo ${var}World
Tenga en cuenta que en el script anterior, creamos una variable var
y almacenamos Hello
. En el ejemplo anterior, lo mencionamos sin las llaves porque no necesitábamos agregar otra palabra con él.
Si no añadimos llaves ahora, buscará una variable llamada varWorld
, que no se encuentra. Entonces, para decirle a la secuencia de comandos el nombre exacto de la variable, lo encerramos entre llaves.
La salida de la misma es la siguiente:
Uso de llaves redondas ()
Las llaves redondas se conocen como Command Expansion. La sustitución de comandos permite que la salida del comando sustituya al comando en sí.
Después de eliminar los saltos de línea finales, Bash ejecuta el comando y reemplaza la sustitución del comando con la salida estándar del comando. Las nuevas líneas incrustadas no se borran; sin embargo, pueden eliminarse durante la división de palabras.
La sustitución de comandos ocurre cuando se adjunta una orden, de la siguiente manera:
#!/bin/bash
day = $(date)
echo "Today is ${day}"
En el script anterior, la fecha
es un comando que indica la fecha y hora actual del sistema. Entonces, al ejecutar el script, la fecha
se reemplaza con la salida del comando y se asigna a la variable día
.
El comando echo
imprime la siguiente línea: