Si me quedobash: opción de depuración y las funciones
bash -x myscript.sh
voy a conseguir la salida de depuración.
Pero si tengo una función en myscript.sh
, el código en la función es inmune a la opción -x. Escribe para mostrar solo el nombre de la función.
¿Cómo obtener la salida de depuración para funciones en scripts bash?
Actualización:
Tras la respuesta del ztank1013, me he dado cuenta de que he usado ksh, no bash. Parece que bash tiene por defecto la opción functrace habilitada en mi sistema (gracias a bash-o-logist)
Estoy satisfecho, pero para la comunidad mantengo la pregunta abierta para ksh.
Para guión:
#!/bin/ksh
a=2
testering(){
a=3
if [ $a -eq 3 ]; then
echo lili
fi
}
if [ $a -eq 2 ]; then
echo mimi
fi
testering
exit
salida del ksh -x ./testdebug.sh
es:
+ a=2
+ [ 2 -eq 2 ]
+ echo mimi
mimi
+ testering
lili
+ exit
Así, por ksh, ¿cuál es el truco?
(Si no hay respuesta vendrá, la 'correcta' irá a golpear-o-logist.)
buena pregunta, +1 – nsd