请问如何重定向sh -x *.sh的调试信息到文本文件?
发表于 : 2012-02-19 20:58
我想调试一个别人写的电脑休眠的脚本程序,以前用得蛮好,升级内核到3.2.6以后,休眠就经常失败,表现就是在休眠进行到某一个阶段的时侯就没有反应,开几个小时都没有反应,只能强行关机。我想用sh -x XXX.sh输出每一步执行的命令,然后就可以知道出错的时侯是执行到哪里了,但是因为是休眠脚本程序,而且很长,直接把结果输出到终端不方便看,我想输出到文本文件里,可是不知道怎么办。说了这么多,我给个例子吧:
这是测试用的脚本文件:
直接执行该脚本的结果为:
用调试模式执行:
如果用输出重定向来执行:
而这个时侯debug.txt文件的内容为:
而我期待的debug.txt文件的内容为:
请问该如何执行?谢谢!
这是测试用的脚本文件:
代码: 全选
#!/bin/sh
echo '1'
echo '2'
echo '3'
exit 0
代码: 全选
zym@zym-freedom:~/下载$ ./test.sh
1
2
3
代码: 全选
zym@zym-freedom:~/下载$ sh -x ./test.sh
+ echo 1
1
+ echo 2
2
+ echo 3
3
+ exit 0
代码: 全选
zym@zym-freedom:~/下载$ sh -x ./test.sh > debug.txt
+ echo 1
+ echo 2
+ echo 3
+ exit 0
代码: 全选
1
2
3
代码: 全选
+ echo 1
+ echo 2
+ echo 3
+ exit 0