我目前有两个文件,一个是主函数,另一个是核心逻辑。 main 函数像函数一样获取了代码逻辑和访问权限。但是我的问题在代码逻辑上有问题,如何在调试模式下查看它?下面是一个例子。
代码逻辑
function logic() {
#!/bin/bash
if [[ -f /tmp/sample.txt ]]; then
echo "hello world"
fi
}
主函数文件
#!/bin/bash
if [[ -f /tmp/test.txt ]] ; then
logic
echo "Done"
fi
执行输出时:
sh -x myscript.sh
++ [[ -f /tmp/test.txt ]]
hello world ## I need debug output here itself.
++ echo "Done"
答案1
我们应该在调用文件的函数之前获取该文件。
#!/bin/bash
source /path/to/codeLogic.sh
if [[ -f /tmp/test.txt ]] ; then
logic
echo "Done"
fi
然后在调试模式下运行:
sh -x myscript.sh
+ source /path/to/codeLogic.sh
+ [[ -f /tmp/test.txt ]]
+ logic
+ [[ -f /tmp/sample.txt ]] ---> this is the execution part of logic function
+ echo 'hello world'
hello world
+ echo Done
Done