shell脚本怎么显示所执行的每一条命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本怎么显示所执行的每一条命令相关的知识,希望对你有一定的参考价值。

可以写个函数,比如:
function exec_cmd

echo "Executing cmd $@"
$@

exec_cmd your_cmd

这样每次执行命令之前都会先显示执行的命令,再执行。
参考技术A 在脚本中加上set -x或者set -xv都可以
也可以在命令行这样执行:
sh -x yourscript.sh

Shell脚本的调试方法

Shell脚本的调试方法

Shell提供了一些用于调试脚本的选项,如下所示:

-n

读一遍脚本中的命令但不执行,用于检查脚本中的语法错误

-v

一边执行脚本,一边将执行过的脚本命令打印到标准错误输出

-x

提供跟踪执行信息,将执行的每一条命令和结果依次打印出来

使用这些选项有三种方法,一是在命令行提供参数

$ sh -x ./script.sh

 

二是在脚本开头提供参数

    #! /bin/sh -x

 

第三种方法是在脚本中用set命令启用或禁用参数

    #! /bin/sh
    if [ -z "$1" ]; then
      set -x
      echo "ERROR: Insufficient Args."
      exit 1
      set +x
    fi

 

set -x和set +x分别表示启用和禁用-x参数,这样可以只对脚本中的某一段进行跟踪调试。

以上是关于shell脚本怎么显示所执行的每一条命令的主要内容,如果未能解决你的问题,请参考以下文章

IBm tws调用shell

Shell脚本的调试方法

Shell脚本的调试方法

如何将一shell脚本中的每一步命令执行结果输出到指定日志文件中

如何将一shell脚本中的每一步命令执行结果输出到指定日志文件中

shell 脚本常用调试方法