我用
sh -xv my_script.sh
调试 /bin/sh 脚本。如何调试 /bin/bash 脚本?
我收到以下错误,我需要知道需要编辑的行。
# ./batch_master.sh
'@'10.10.10.10.' (using password: NO)user 'companycuser
答案1
这不管用吗?
bash -x ./batchmaster_sh
答案2
编辑脚本,在 shell 命令行中添加 -x 选项,例如:
#!/bin/sh -x
或者
#!/bin/bash -x
它将打印所有已执行的命令,您可以看到之后执行了什么。
答案3
自本世纪初以来,bash 的调试器就一直存在。请参阅http://bashdb.sourceforge.net/
如果您要使用set -x
追踪,我建议将 PS4 设置为:
PS4='(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]} - [${SHLVL},${BASH_SUBSHELL}, $?]
'