La sintaxis de bash a veces es arcana y/o arcáica, lo cual tarde o temprano lleva a despistes.
Aún asÃ, es compacto y resulta muy ágil para automatizar iterativamente tareas de todo tipo.
Algunas de las virtudes que lo hacen cómodo y ágil:
- Operaciones empotradas en variables: por ejemplo, ${nombre_fichero//.wav/.mp3}
- Programación «orientada a filtros» (tuberÃas): grep patron fichero | wc
- Ejecutar y guardar salida en variable: output=$(comando)
- Documentos empotrados: cat <
- Uso «transparente» de variables: echo «Texto ${variable}»; sec_to_date=$(date -d@${seconds} +’%Y-%m-%d’)
- Comandos: cp, mkdir, date, find, grep, diff, du, df, ps, stat, sed, ssh, wget
- «Metaprogramación»: eval «${comando} ${parametro}»
- Traceado trivial: bash -x script
- Tests simples para ficheros: [ -x fichero ]
- Redirección: >>
- «Expansión»: * {a,b,c} [0-9]
- Importar: .
Algunas virtudes se convierten en vulnerabilidades, por ejemplo la expansión.
Alternativas para esas virtudes, en Python: