码迷,mamicode.com
首页 > 系统相关 > 详细

16 shell调试技术

时间:2015-07-18 14:01:47      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

 

trap 命令

  基本格式: trap command sig1 sig2 ... sigN
    有3种信号可以捕获:
    EXIT : 从函数中退出, 或整个脚本执行完毕
    ERR:   当一条命令返回非0状态码, 即命令执行不成功
    DEBUG: 脚本汇总每一条命令执行前
       

演示 DEBUG (一般使用这个方法查看整个程序的所有执行情况)


    #!/bin/bash
    trap ‘echo "before execute line:$LINENO, a=$a,b=$b,c=$c"‘ DEBUG    
    a=0
    b=2
    c=100
    while :
    do
        if ((a >= 10))
        then
            break
        fi
        let "a=a+2"
        let "b=b*2"
        let "c=c-10"
    done

 运行结果如下:

技术分享

 

演示: EXIT (一般使用这个方法来判断某一个函数是否成功执行)    

    #!/bin/bash
    
    func1()
    {
        echo "This is an correct function "
        var=2010
        return 0
    }
    trap ‘echo "Line:$LINENO, var=$var"‘ EXIT #这个语句表示, 如果下边的fun1正确执行, 那么这里就显示 var=$var的值(20)
    fun1
    

    演示: ERR 

 

   #!/bin/bash
    
    func2()
    {
        echo "This is an error function"
        var=2010
        return 1
    }
    trap ‘echo "Line: $LINENO, var=$var"‘ ERR #这个语句表示, 如果下边的fun2是否为错误执行, 那么这里就显示 var=$var的值(20)
    func2

 

16 shell调试技术

标签:

原文地址:http://www.cnblogs.com/moveofgod/p/4656734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!