zoukankan      html  css  js  c++  java
  • linux命令---shell脚本调试

     Linux Shell提供了两种方式来跟踪Shell脚本中的命令,以帮助我们准确的定位程序中存在的问题。下面的代码为第一种方式,该方式会将Shell脚本中所有被执行的命令打印到终端,并在命令前加"+":加号的后面还跟着一个空格。
        /> cat > trace_all_command.sh
        who | wc -l                          #这两条Shell命令将输出当前Linux服务器登录的用户数量
        CTRL + D                            #退出命令行文件编辑状态
        /> chmod +x trace_all_command.sh
        /> sh -x ./trace_all_command.sh #Shell执行器的-x选项将打开脚本的执行跟踪功能。
        + wc -l                               #被跟踪的两条Shell命令
        + who
        2                                       #实际输出结果。
        Linux Shell提供的另一种方式可以只打印部分被执行的Shell命令,该方法在调试较为复杂的脚本时,显得尤为有用。
        /> cat > trace_patial_command.sh
        #! /bin/bash
        set -x                                #从该命令之后打开跟踪功能
        echo 1st echo                     #将被打印输出的Shell命令
        set +x                               #该Shell命令也将被打印输出,然而在该命令被执行之后,所有的命令将不再打印输出
        echo 2nd echo                    #该Shell命令将不再被打印输出。
        CTRL + D                           #退出命令行文件编辑状态
        /> chmod +x trace_patial_command.sh
        /> ./trace_patial_command.sh
        + echo 1st echo
        1st echo
        + set +x
        2nd echo

  • 相关阅读:
    spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常
    在zepplin 使用spark sql 查询mongodb的数据
    Unable to query from Mongodb from Zeppelin using spark
    spark 与zepplin 版本兼容
    kafka 新旧消费者的区别
    kafka 新生产者发送消息流程
    spark ui acl 不生效的问题分析
    python中if __name__ == '__main__': 的解析
    深入C++的new
    NSSplitView
  • 原文地址:https://www.cnblogs.com/tianzhiyi/p/5312000.html
Copyright © 2011-2022 走看看