Shell 是很简单,但是调试还是一定需要的。
跟踪
显示行号
设置环境变量 PS4
export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}:'
现在,使用 "bash -x" 执行脚本文件就能看到执行到的行号,示例:
... +/usr/lib/build/build:1365::egrep '^#[ ]*needsbinariesforbuild[ ]*$' +/usr/lib/build/build:1366::set -- init_buildsystem --clean /var/tmp/build-root/.build-srcdir/uuid.spec --debug +/usr/lib/build/build:1367::echo 'init_buildsystem --clean /var/tmp/build-root/.build-srcdir/uuid.spec --debug ...' init_buildsystem --clean /var/tmp/build-root/.build-srcdir/uuid.spec --debug ... +/usr/lib/build/build:1368::init_buildsystem --clean /var/tmp/build-root/.build-srcdir/uuid.spec --debug expanding package dependencies... you must specfiy a depfile! +/usr/lib/build/build:1368::cleanup_and_exit 1 +/usr/lib/build/build:220:cleanup_and_exit:trap EXIT ...
