debugging – bash:debug选项和函数
发布时间:2020-12-16 01:08:57 所属栏目:安全 来源:网络整理
导读:如果我跑 bash -x myscript.sh 我会得到调试输出. 但是如果我在myscript.sh中有一个函数,函数中的代码不受-x选项的影响.它只写输出函数的名称. 如何获取bash脚本中函数的调试输出? 更新: 在ztank1013的回复之后,我才意识到我使用了ksh,而不是bash.似乎bash
如果我跑
bash -x myscript.sh 我会得到调试输出. 但是如果我在myscript.sh中有一个函数,函数中的代码不受-x选项的影响.它只写输出函数的名称. 如何获取bash脚本中函数的调试输出? 更新: 在ztank1013的回复之后,我才意识到我使用了ksh,而不是bash.似乎bash默认情况下在我的系统中启用了functrace选项(感谢bash-o-logist) 我很满意,但对于社区我维持ksh的问题. 对于脚本: #!/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 输出ksh -x ./testdebug.sh是: + a=2 + [ 2 -eq 2 ] + echo mimi mimi + testering lili + exit 那么,对于ksh来说,有什么诀窍呢? (如果没有答案,’正确’将转到bash-o-logist.)
使用bash,您可以在脚本中使用functrace选项
set -o functrace 有关其他调试器选项,请参阅bpage以获取bash. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |