Depurar scripts Bash com números de linha e mais informações

Precisa de mais informações para rastrear a execução do script bash?

Sem problemas, basta usar a PS4variável:

export PS4='(${BASH_SOURCE}:${LINENO}): - [${SHLVL},${BASH_SUBSHELL},$?] $ '

Em seguida, execute o bash com o modo de rastreamento ativado com um dos seguintes:

bash -x my_script.sh

ou adicione a bandeira à linha shebang em seu script:

#!/bin/bash -x
echo
"hello world"

ou use set -xpara iniciar a saída de rastreamento, set +xpara parar:

#!/bin/bash
echo
'hello world'
echo
'do some things'
set -x
some_command_i_want_to_debug

set +x
echo
'do more things without trace output'