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:

lunes, 19 de noviembre de 2018

Instrucción vacía

La mayoría de los lenguajes de programación tienen lo que se denomina instrucción vacía. Esta instrucción en realidad no realiza ninguna función práctica, pero permite rellenar un hueco allí donde se necesita.
Veamos un ejemplo en Python:
import sys
try:
    f = open('myfile','r')
except:
    pass
En este ejemplo, si el fichero myfile no existe saltará una excepción que será capturada por el bloque try. Como no se requiere ejecutar ninguna acción si salta la excepción y la sección except hay que colocarla, se pone en ella la instrucción vacía pass de Python.
Veamos cuál es la instrucción vacía en bash y qué usos se le puede dar.