jueves, 29 de noviembre de 2018

printf para bash

Bash dispone del comando echo para mostrar texto por el terminal. No obstante, en ocasiones este comando se nos puede quedar corto y se hace excesivamente elaborado formatear ciertas cadenas de texto a nuestro gusto.
Para estos cometidos, el comando interno de bash printf será de gran ayuda dado que funciona de forma bastante similar a printf de C.
Veamos un ejemplo de formateo de texto en forma de tabla:

lunes, 26 de noviembre de 2018

Variables bash #1

Bash tiene multitud de variables internas que permiten obtener una gran variedad de información. Una de ellas es $SECONDS.
Esta variable indica el número de segundos que el proceso bash está en ejecución. Si lo ejecutamos sobre la linea de comandos, obtendremos el tiempo que ese shell lleva en ejecución:
$ echo $SECONDS
292
Si lo ejecutamos dentro de un shell script que use bash, podremos usar esta variable para controlar el tiempo máximo de ejecución del script, ejecutar alguna acción cada x segundos, etc.
#!/usr/bin/env bash

MAXIMO=10

while [ $SECONDS -le $MAXIMO ]
do 

  echo "$SECONDS segundos de ejecucion del script"
  sleep 1

done

jueves, 22 de noviembre de 2018

Dando color al terminal

La consola de Linux permite el uso de colores en el texto para dar un toque distinto a nuestras aplicaciones. Estos colores se activan mediante el uso de códigos de escape ANSI.
Por ejemplo, si se desea escribir un texto en rojo pondríamos lo siguiente:
$ echo -e "\033[31mRojo"
Siendo los caracteres iniciales el código de escape ANSI asociado a dicho color.
Los colores que se pueden usar son los siguientes:
  • Negro: \033[30m
  • Rojo: \033[31m
  • Verde: \033[32m
  • Amarillo: \033[33m
  • Azul: \033[34m
  • Lila: \033[35m
  • Cian: \033[36m
  • Blanco: \033[37m
A continuación se muestra una forma práctica de usar estos códigos de escape: