shell脚本调试 -- 运行日志1
2012-02-17 19:26
281 查看
shell脚本调试 -- 运行日志1
模块文件: mymod_log
# mymod_log while [[ ! -z "$1" ]]; do # echo "arg: $1"; case "$1" in "noall") sed -e '/^\([ \t]*\)mydebug/d'\ -e '/^\([ \t]*\)myrunlog/d'\ -e '/^\([ \t]*\)myerrlog/d'\ -e 's/^\([ \t]*\)\<source\>\(.*\)\<mymod_log\>\(.*\)$/#\1source\2mymod_log\3/g'\ "$0" |/bin/bash exit $? ;; "nodebug") #mydebug delete sed_rule="${sed_rule} -e '/^\([ \t]*\)mydebug/d'" ;; "norunlog") #myrunlog delete sed_rule="${sed_rule} -e '/^\([ \t]*\)myrunlog/d'" ;; "noerrlog") #myerrlog delete sed_rule="${sed_rule} -e '/^\([ \t]*\)myerrlog/d'" ;; *) ;; esac shift; done if [[ -z "${sed_rule}" ]];then sed -e 's/^\([ \t]*\)mydebug/\1echo "$FUNCNAME:$LINENO:DEBUG: "/g'\ -e 's/^\([ \t]*\)myrunlog/\1echo "$FUNCNAME:$LINENO:RUN: "/g'\ -e 's/^\([ \t]*\)myerrlog/\1echo 1>\&2 "$FUNCNAME:$LINENO:ERROR: "/g'\ -e 's/^\(.*\)\<source\>\(.*\)\<mymod_log\>\(.*\)$/#\1source\2mymod_log\3/g'\ "$0" |/bin/bash else # echo "${sed_rule}"; eval "sed ${sed_rule} $0" |\ sed 's/^\([ \t]*\)\<source\>\(.*\)\<mymod_log\>\(.*\)$/#\1source\2mymod_log\3/g'|\ sed -e 's/^\([ \t]*\)mydebug/\1echo "$FUNCNAME:$LINENO:DEBUG: "/g'\ -e 's/^\([ \t]*\)myrunlog/\1echo "$FUNCNAME:$LINENO:RUN: "/g'\ -e 's/^\([ \t]*\)myerrlog/\1echo 1>\&2 "$FUNCNAME:$LINENO:ERROR: "/g'\ | /bin/bash fi exit $? |
测试文件: mymod_log_test.sh
#!/bin/bash # mymod_log_test.sh source ./mymod_log norunlog; function check_apache() { mydebug "apache [OK]"; myrunlog "apache [OK]"; myerrlog "apache [FAIL]"; :; } function check_mysql() { mydebug "mysql [OK]"; myrunlog "mysql [OK]"; myerrlog "mysql [FAIL]"; :; } function check_all() { check_apache; check_mysql; } check_all; |
测试结果:
当为: source ./mymod_log norunlog; 时$ ./mymod_log_test.sh
check_apache:8:DEBUG: apache [OK]
check_apache:9:ERROR: apache [FAIL]
check_mysql:16:DEBUG: mysql [OK]
check_mysql:17:ERROR: mysql [FAIL]
当为 source ./mymod_log norunlog noerrlog;
$ ./mymod_log_test.sh
check_apache:8:DEBUG: apache [OK]
check_mysql:15:DEBUG: mysql [OK]
当为: source ./mymod_log noall;
$ ./mymod_log_test.sh
$
------------- end -------------
From: GS
-------------------------------
相关文章推荐
- shell脚本调试 -- 运行日志2
- 将shell脚本运行情况写入Rsyslog日志server
- Shell脚本定时备份清除运行系统日志的代码
- cetos 上 开启 crontab的日志 和调试,并运行 和调试 java 脚本
- shell脚本调试运行
- Linux下Shell脚本运行程序不输出日志到终端
- shell脚本调试打印日志问题
- Shell脚本定时备份清除运行系统日志的代码
- shell 脚本运行日志通用模块
- Shell脚本调试技术
- Shell脚本调试技术(转)
- 如何判断脚本是在当前shell下运行还是在子shell下面运行?
- 使用bash命令参数调试shell脚本
- 日志中抓取特定字段shell脚本
- bashdb安装及调试shell脚本
- linux的shell脚本运行python程序
- linux运行java项目的shell脚本
- Shell—启用Shell脚本调试模式的方法
- linux C中调用shell命令和运行shell脚本
- Shell脚本调试技术