zoukankan      html  css  js  c++  java
  • shell调试

    shell脚本——调试(-n / -x / + / ++ )

    -n 只读取shell脚本,但不实际执行 "-n"可用于测试shell脚本是否存在语法错误,但不会实际执行命令。 -x 进入跟踪方式,显示所执行的每一条命令 "-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。 -v 显示所有行,详细模式

    sh -n file.sh
    # 检查脚本中的语法错误,并显示行号
    export PS4='+[$LINENO]'    /   export PS4='+{$LINENO:${FUNCNAME[0]}} '
    #这个变量加入到.bash_profile中,在进行代码调试时,会显示行号(无函数时,一般用前者)
    set -x     #启动debug模式
    set +x    #关闭debug模式
    sh -x file.sh   #进行脚本调试(debug)
    
    +号行:  shell脚本实际执行的命令
    ++ 号行: 执行trap机制中指定的命令
    其它的行则是输出信息
    

    补充: $LINENO 代表shell脚本的当前行号,类似于C语言中的内置宏__LINE__

    (FUNCNAME 函数的名字,类似于C语言中的内置宏__func__,但宏__func__只能代表当前所在的函数名,而) FUNCNAME的功能更强大,它是一个数组变量,其中包含了整个调用链上所有的函数的名字,故变量({FUNCNAME[0]}代表shell脚本当前正在执行的函数的名字,而变量){FUNCNAME[1]}则代表调用函数${FUNCNAME[0]}的函数的名字,余者可以依此类推。

  • 相关阅读:
    使用T4为数据库自动生成实体类
    asp.net 下OnClientClick的妙用
    使用缓存的9大误区(上)
    使用缓存的9大误区(下)
    毕业后的五年拉开大家差距的原因在哪里
    mysql字符集
    redhat网络基础配置
    mysql远程连接问题
    Hibernate hql语句修改部分字段
    JQuery使用方法总结
  • 原文地址:https://www.cnblogs.com/suixingc/p/shell-diao-shi.html
Copyright © 2011-2022 走看看