Cositas buenas de bash

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:

  • ! comando (IPython)
  • sh, módulo Python para ejecutar comandos como funciones
  • Plumbum, módulo que ofrece tuberías (|)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *