• 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

  • 相关阅读:
    小技巧
    sql日期函数
    c#发送邮件
    js点滴
    Js序列化时间
    js中string的操作
    原系统中有AD FS , CRM Server ,迁移ADFS 到另一台电脑 , CRM Server用443端口出错
    解决UR 12后ISV目录不能用的问题
    Lucene .Net 版本
    Android 开源项目
  • 原文地址:https://www.cnblogs.com/chongchong88/p/5579928.html
Copyright © 2020-2023  润新知