Inicie seu script bash com bash -x ./script.sh
ou adicione seu script set -x
para ver a saída de depuração.
Adicional com bash
4.1 ou posterior:
Se você quiser gravar a saída de depuração em um arquivo separado, adicione isso ao seu script:
exec 5> debug_output.txt
BASH_XTRACEFD="5"
Veja: link
Se você quiser ver números de linha, adicione isto:
PS4='$LINENO: '
Se você tiver acesso ao comando
logger
, poderá usá-lo para gravar a saída de depuração por meio do seu syslog com registro de data e hora, nome do script e número da linha:
#!/bin/bash
exec 5> >(logger -t $0)
BASH_XTRACEFD="5"
PS4='$LINENO: '
set -x
# Place your code here
Você pode usar o comando option -p
of logger
para definir um recurso e nível individuais para gravar a saída via syslog local em seu próprio arquivo de log.