debug en bash
variables de entorno
- en el script, modificando el SheBang:
#!/bin/bash -x - desde linea de comando:
$ bash -x <script> - activar modos:
set (+/-)x: muestra comandos y argumentos a medida que son ejecutadosset (+/-)v: «shell inputs lines as they are read» ?
código
podemos usar una función para hacer las llamadas a un modo DEBUG controlado todo desde una variable
#!/bin/bash _DEBUG="on" function DEBUG() { [ "$_DEBUG" == "on" ] && $@ } DEBUG echo 'Reading files' for i in * do grep 'something' $i > /dev/null [ $? -eq 0 ] && echo "Found in $i file" done DEBUG set -x a=2 b=3 c=$(( $a + $b )) DEBUG set +x echo "$a + $b = $c"