la línea de comandos se divide en una serie de elementos que representan cierto significado en la semántica del intérprete. La expansión es un procedimiento especial que se realiza sobre dichos elementos individuales.
BASH dispone de 8 tipos de expansiones, que según su orden de procesado son:
las llaves ({..}) se expanden para crear un patrón
El formato general es el siguiente:

Ejemplo

Cuando se usa con comas (,) genera combinaciones entre el valor a y los valores dentro de las llaves. Si no existiera un valor fuera de las llaves solo mostraría una vez cada valor que contiene la llave.
echo a(1,2,3) # Dando como resultado: a1 a2 a3
Este tipo de expansión obtiene el valor de un directorio, tanto de las cuentas de usuarios, como de la pila de directorios accedidos. Los formatos válidos de la expansión de tilde son:

Permite la sustitución del contenido de la variable siguiendo una amplia variedad de reglas. Los distintos formatos para la expansión de parámetros son


BASH proporciona unas potentes herramientas para el tratamiento de cadenas, sin embargo, la sintaxis puede resultar engorrosa y requiere de experiencia para depurar el código. Por lo tanto, se recomienda crear guiones que resulten fáciles de comprender,
documentando claramente las órdenes más complejas
Ejemplos:


Cuando la sustitución de mandatos va en una cadena entre comillas dobles se evita que posteriormente se ejecute una expansión de ficheros

Ejemplo
Sumar dos números usando el comando echoecho $(( 10+5 ))
#!/bin/bash X=5 Y=10 resultado=$(( X+Y )) echo "$X + $Y = $resultado"
La sustitución de proceso permite utilizar un fichero especial de tipo cola para intercambiar información entre 2 procesos, uno que escribe en la cola y el otro que lee de ella en orden (el primero en llegar es el primero en salir). Los formatos válidos para esta expansión son:

Una vez que se hayan realizado las expansiones previas, el intérprete divide la línea de entrada en palabras, utilizando como separadores los caracteres especificados en la variable de entorno IFS. Para evitar problemas de seguridad generados por un posible “Caballo de Troya”, el administrador debe declarar esta variable como de sólo lectura y establecer unos valores fijos para los separadores de palabra; que por defecto éstos son espacio, tabulador y salto de línea. Una secuencia de varios separadores se considera como un único delimitador.
Por ejemplo, si se ejecuta el siguiente mandato:du –hs $HOME
“du” “-hs” “/home/qvision”
Si algunas de las palabras obtenidas tras la división anterior contiene algún caracteres especial conocido como comodín (*, ? o [), ésta se trata como un patrón que se sustituye por la lista de nombres de ficheros que cumplen dicho patrón, ordena da alfabéticamente. El resto de caracteres del patrón se tratan normalmente.
Los patrones válidos son:

La siguiente tabla describe algunos ejemplos

Los alias en bash (terminal) nos dan multitud de
posibilidades en el uso de comandos. Una de ellas es ejecutar un comando o
conjunto de comandos escribiendo una palabra más sencilla, lo que puede ser muy
útil si no te gusta escribir el mismo comando una y otra vez o no te llevas
bien con la terminal
alias nombre='comando'
alias cl=’clear’ # Definimos el alias cl # Invocamos el alias
unalias alias-name # Ejemplo unalias cl
alias
Si quiere crear alias para todos los usuarios disponibles, debe agregar estos directamente en el archivo ~/.bashrc
sudo nano ~/.bashrc
Al final del código que encontramos podemos agregar los alias que necesitemos
