Expansiones de Shell en Linux: $(), ${}, Globbing y Brace Expansion
Linux permite el uso de expansiones de Shell, útiles para utilizar la salida de comandos en variables. El resultado puede ser usado para un procesamiento, generalmente en un script de shell.
Los símbolos que permiten la expansión de shell son:
- $( ) - símbolo de dólar con paréntesis.
- ` ` - comillas invertidas.
- ${ } - símbolo de dólar con llaves.
Las expansiones $( ) y ` ` hacen lo mismo. Sin embargo es recomendable utilizar el $( ) por ser más legible, y menos susceptible a errores al copiar un script.
Para usar la expansión, basta con colocar el comando deseado entre los paréntesis o entre las comillas invertidas.
Expansión de Salida de Comandos $( ) y ``
Ejemplo de expansión de salida de comandos:
#!/bin/bashHOJE=$(date "+%d/%m")ID=`id -un`echo "Bom dia $ID, hoje é $HOJE"
Al ejecutar este pequeño script, se puede ver que la salida de los comandos date y id fueron direccionadas a las variables HOJE e ID que pudieron ser usadas posteriormente en el script:
$ ./expansao
Bom dia uira, hoje é 12/01
Para usar las expansiones de comandos, lo común es usar también una variable, para guardar el resultado de la ejecución del comando.
Expansión ${ }
La expansión ${ } permite delimitar el nombre de una variable, e incluso hacer sustituciones.
Ejemplo:
$ bicho="gato"$ echo $bichogato
Si quieres usar el contenido de la variable junto con un texto, no funcionará:
$ echo "os $bichos foram passear"os foram passear
Para que esto funcione, se debe usar el nombre de la variable entre ${ }:
$ echo "os ${bicho}s foram passear"os gatos foram passear
También es posible hacer sustituciones, usando la barra común "/", buscando una ocurrencia y reemplazándola por otra:
$ echo "O ${bicho/gato/cachorro} latiu"
O cachorro latiu
Conclusión
Las expansiones de shell son poderosas para guardar el resultado de un comando en una variable. Esto permite que proceses los resultados de los comandos inteligentemente para crear procedimientos o tratar los datos.
Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.
¿Te gustó? Comparte
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.