在 shell 脚本上下文中,set +e 和 set -x 命令起什么作用?

在 shell 脚本上下文中,set +e 和 set -x 命令起什么作用?

我正在查看包含以下内容的 shell 脚本:

set +e
set -x

我看到这些命令用于“为 shell 变量赋值”。但在这种情况下我不明白它的用法。

https://afni.nimh.nih.gov/pub../pub/dist/edu/data/CD.expanded/AFNI_data6/unix_tutorial/misc/unix_commands.html#set

答案1

该类型的 set 命令设置或取消设置 shell 选项。令人困惑的是,-设置选项和+取消设置选项。

选项e使得每次命令出错时 shell 脚本都会出错。通常情况下,启用该选项是个好主意。

选项x使 shell 在扩展参数之后但在执行命令之前打印出命令。在调试时很有用,但有时会让人不知所措。

https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html更多(该文档针对的是 bash,但其中许多功能在许多 shell 中都很常见)

相关内容