shell编程 - 调试脚本

1. 使用选项-x

bash -x script.sh

2. 使用set -x 进行部分调试

array=(1 2 3 4)
for value in ${array[@]}
do
  set -x  # 开启调试
  echo $value
  set +x  # 关闭调试
done

set -x # 在执行时显示参数和命令
set +x # 禁止调试
set -v # 当命令进行读取时显示输入
set +v # 禁止打印输入

3. 利用_DEBUG环境变量自定义调试

# 自定义DEBUG 函数
function DEBUG {
  [ "$_DEBUG" == "on" ] && $@ || :
}

# 如果_DEBUG=on, 才会打印调试信息
_DEBUG=on
array=(1 2 3 4)
for value in ${array[@]}
do
 DEBUG echo $value
done

4. 在shell文件的shebang 中添加-xv

#! /usr/bin/bash -xv

array=(1 2 3 4)
for value in ${array[@]}
do
  echo $value
done

相关文章

Centos系统之Shell编程基础知识
从Export理解Shell环境和变量生存期
linux shell数组变量、类型及规则
Centos编程Shell基本工作原理方案
Centos操作系统编程之Shell 问答录
rsync-linux备份脚本