读书人

shell学习与应用边学边用之三!(输

发布时间: 2012-11-07 09:56:10 作者: rapoo

shell学习与使用,边学边用之三!(输出调试日志)
关于shell脚本的调试在我的博客“shell学习与使用,边学边用之二”中
后面关于"set -x"命令选项的使用就已经够了。
下面一些当作补充。

一:最原始最常用的调试技术:
使用echo和print命令。

二:根据调试层次控制输出。使用echo指令的不足之处在于,当程序员不想显示这些输出的时候。就不得不注释掉或者删除这些指令。如果下次要再调试又要再次添加。麻烦又容易出错。
借鉴C语言中常用的控制调试输出技巧,即使用

banxi1988@banxi:~/work/shell$ bash -n set_x_disable.sh banxi1988@banxi:~/work/shell$ ./set_x_disable.sh Can you write device drivers(y/n)?yDEBUG:call log_debugWow,you must be very skilled!banxi1988@banxi:~/work/shell$ cat set_x_disable.sh #!/bin/bash#set -x#set -vDEBUG=1log_debug() {if [ $DEBUG -gt 0 ];thenif [ $# -lt 1 ]thenecho "no message";elseecho "DEBUG:$1";fifi}echo -n "Can you write device drivers(y/n)?"read answeranswer=`echo $answer | tr [a-z] [A-Z]`if [ $answer = Y ] thenlog_debug "call log_debug"echo "Wow,you must be very skilled!"elseecho "Neither can I,I'm just an example shell script"fibanxi1988@banxi:~/work/shell$ 


根据上面还可以写出其它级别的调试日志输出函数。
根据java中的log4j来说还可以有log_info(),log_warn(),log_error(),log_fatal()等
日志输出函数。

=================未完待续……==============

读书人网 >编程

热点推荐