# Manual de supervivencia para la `bash` ## Utilidades de eficiencia en el uso - History - Repetición de órdenes desde el histórico - Búsqueda de órdenes pasadas Ctr-R - Uso de alias ## Expansión de metacaracteres - El metacaracteres `*`, `?`, `{}` - El metacaracter `$` ## Variables en la shell - Concepto - Expansión de variables - Variables de entorno locales y globales - La orden `env` - La orden `export` - Variable especial `?` - La orden `set` ## Modos de ejecutar una orden: - Lista de órdenes separadas por ; - Conjunción de órdenes && - Disyunción de órdenes || - Ejecución en segundo plano con &. Ordenes jobs, fg y bg - Sustitución de órdenes con $(orden) ## Redirección de E/S - Al sistema de archivos con `>`, `>>`, `<` - Redirección _heredoc_ ```bash! $> cat << EOF | wc hola mundo mundial EOF ``` - Redirección de stdout `command 1> file` - Redirección de stderr `command 2> file` - Redirección combinada - Redirección de `stderr` a `stdout` `orden 2>&1` - Redirección de `stdout` a `stderr` `orden 1>&2` ## Fases de ejecución de una orden ## Navegación e inspección del sistema de archivos - Orden `du` - Orden `df` - Orden `head` - Orden `tail` ## Utilidades generales - Order date y formateo de la salida - Orden `find` - Orden `echo` - Orden `tree` ## El entorno en la shell - Variables en la shell, expansión de variables y orden `env` - Valores de retorno de la ejecución de una orden. Variable especial ? - Redirección de E/S ## Tuberías y filtros - El concepto de filtro - Filtros típicos: - sort - tr - wc - cut - Codificación en base64 - uniq ## Filtro `grep` - Expresiones regulares: caracteres, conjuntos, $, ^, ., cuantificadores +, * y ? - Filtro grep. Operativa clásica. Modificador -o - Ejemplos: expresión regular para filtrar un DNI ## Shell scripts. - Paso de parámetros: argumentos posicionales, orden shift, variables * y # - El `hashbang` - Iteración en listas con for - Sentencias de control con if - Orden test - Comprobaciones sobre el sistema de archivos (archivo existe, directorio existe) - Orden expr - Bucle while - Orden read - Funciones ## Automatización con `makefile`