首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

shell学习与应用,边学边用之三!(输出调试日志)

2012-11-07 
shell学习与使用,边学边用之三!(输出调试日志)关于shell脚本的调试在我的博客“shell学习与使用,边学边用之

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()等
日志输出函数。

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

热点排行