shell提供了用于debugging脚本的工具。如果我们想以debug模式运行某脚本,可以在其shebang中使用一个特殊的选项: #!/bin/bash options options是一些可以改变shell行为的选项。下表是一些可能对你有用的选项:
    Short Name Description
    -f noglob 禁止文件名展开(globbing)
    -i interactive 让脚本以 交互 模式运行
    -n noexec 读取命令,但不执行(语法检查)
    -t 执行完第一条命令后退出
    -v verbose 在执行每条命令前,向stderr输出该命令
    -x xtrace 在执行每条命令前,向stderr输出该命令以及该命令的扩展参数
    举个例子,如果我们在脚本中指定了-x例如: #!/bin/bash -x for (( i = 0; i < 3; i++ )); do echo $i done 这会向stdout打印出变量的值和一些其它有用的信息:
    1. $ ./my_script
    2. + (( i = 0 ))
    3. + (( i < 3 ))
    4. + echo 0
    5. 0
    6. + (( i++ ))
    7. + (( i < 3 ))
    8. + echo 1
    9. 1
    10. + (( i++ ))
    11. + (( i < 3 ))
    12. + echo 2
    13. 2
    14. + (( i++ ))
    15. + (( i < 3 ))
    有时我们需要debug脚本的一部分。这种情况下,使用set命令会很方便。这个命令可以启用或禁用选项。使用-启用选项,+禁用选项: #!/bin/bash echo “xtrace is turned off” set -x echo “xtrace is enabled” set +x echo “xtrace is turned off again”