正如标题所述。我找不到合适的文档来查看 -xe 在以下用例中的作用:
#!/bin/bash -xe
这些参数起什么作用以及在哪里记录?
答案1
如果您阅读手册页,bash
您会在该部分顶部发现以下内容OPTIONS
:
所有单字符 shell 选项均记录在 内置命令 set 的描述可以用作选项,当 shell 被调用。此外,bash 解释以下选项 当它被调用时...
set
如果您稍后阅读手册页中该命令的文档,您会发现:
-e 如果管道(可能由 单个简单命令)、括号内的子 shell 命令、 或作为命令列表的一部分执行的命令之一,其中包含 大括号(参见上面的 SHELL GRAMMAR)以非零状态退出。 -x 扩展每个简单命令后,对于命令,case 命令、选择命令或命令的算术、显示 PS4 的扩展值,后跟命令及其 扩展参数或关联单词列表。
换句话说,-e
只要返回错误,就会立即退出 shell(这在 shell 脚本中通常用作故障安全机制),并-x
启用脚本的详细执行,以便您可以看到正在发生的事情。
答案2
在控制台上键入以下内容以获取 BASH 参数的解释:
bash -c "help set"
回答你的问题:
-e
如果命令以非零状态退出,则立即退出。
-x
在执行命令时打印它们及其参数。