Sé que se puede utilizar 'la persona que llama para conseguir una traza de las llamadas a funciones en bash:Obtener traza la función en bash desde el manejador de trampa (usando persona que llama)
#! /bin/bash
Backtrace() {
echo "Backtrace is:"
i=0
while caller $i
do
i=$((i+1))
done
}
myFunc() {
Backtrace
}
myFunc
Lienzo:
Backtrace is:
11 myFunc ./test.sh
13 main ./test.sh
Mi pregunta es, digamos que tengo un script que usa 'set -e' para terminar en cualquier falla no verificada. ¿Es posible obtener un número de línea donde falló la secuencia de comandos (y sus llamadas)
He intentado ingenuamente hacer: trampa 'Backtrace' SALIR, pero eso me da '1 principal ./test.sh' en lugar de el número de línea del comando que falla