追踪脚本运行过程
2011-06-20 10:41
316 查看
如何看到具体的执行过程?并将执行的过程完整的保存到一个文件并且显示行号
1】使用sh –x,使用-x参数能看到脚本的具体执行过程2】使用输出重定向可以将执行过程保存到另一文件
3】显示行号:
在/etc/vimrc文件中添加行 set nu
然后在要执行的脚本中添加
trap 'echo "before execute line:$LINENO" >/dev/null' DEBUG 【添加位置在#! /bin/sh 之后,真正执行的脚本之前
】
eg:
[root@gbackup2 zhaoyj]# head -4 test.sh
#!/bin/sh
trap 'echo "before execute line:$LINENO" >/dev/null' DEBUG
Adir=backup
for i in fmx1 mx1 mx2 mx14
[root@gbackup2 zhaoyj]# tail -3 /etc/vimrc
set t_Sf=m
set nu
endif
4】执行命令
命令模式: sh -x ScriptName > 输出结果 2> 执行过程保存文件
或:sh -x ScriptName > 输出结果 2>&1
[root@gbackup2 zhaoyj]# sh -x
test.sh > 245.backup.txt 2>
log.txt
5】展示执行过程
所有以++开头的都是提示行,所有已+开头的都是脚本行
[root@gbackup2 zhaoyj]# more log.txt
+ trap 'echo "before execute line:$LINENO" >/dev/null' DEBUG
++ echo 'before execute line:3'
+ Adir=backup
+ for i in fmx1 mx1 mx2 mx14
++ echo 'before execute line:4'
+ for j in dir mysql post qmail
++ echo 'before execute line:6'
++ echo 'before execute line:8'
+ '[' dir '!=' post ']'
++ echo 'before execute line:10'
+ cd /backup/fmx1/dir/
++ echo 'before execute line:11'
+ echo -n 'backup.fmx1.dir '
++ echo 'before execute line:12'
++ echo 'before execute line:12'
+ ls -lt
相关文章推荐
- MAC 系统的启动过程和系统启动时运行shell 脚本
- PowerShell记录脚本运行过程
- Sh -x 调试脚本 显示脚本的运行过程
- 老李推荐:第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本
- 第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本
- Loadrunner脚本回放 场景运行过程中常见错误分析
- 关于chkconfig及运行级别对应的脚本的实现过程
- MAC 系统的启动过程和系统启动时运行shell 脚本
- [置顶] 让Linux系统启动过程自动运行自己编写的脚本
- 老李推荐:第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本
- Loadrunner脚本回放 场景运行过程中常见错误分析
- Android编译过程中首先运行的是build/envsetup.sh脚本的作用是什么?
- 通过Debug模式运行来追踪程序的运行过程
- Loadrunner 脚本回放 场景运行过程中 常见错误分析
- 脚本实现exe的运行过程中参数的输入
- 在运行LOADRUNNER脚本的过程中,弹出提示;The default result directory is locked ,The results of the execution will b
- groovy分析脚本基本组成文件详解和运行过程中出错分析
- SxsTrace使用教程(追踪软件运行的详细过程)
- 写日志追踪程序运行过程
- Gradle脚本对Java项目工程编译,打包,运行和发布具体过程详例