This question already has answers here:
What does the line '!/bin/sh -e' do? [closed]

(2 个回答)



How to echo shell commands as they are executed

(14 个回答)


2年前关闭。




Tribler 的 GitHub 上的存储库中,我看到一个带有解释器的 file : #!/bin/sh -xe

在 Mac 和 Linux 上,man sh 重定向到 BASH(1)(与 man bash 相同)。

在这个 man 文件中,在以下部分:



,没有提到选项 -x ,也没有选项 -e

解释器 #!/bin/sh -xe 的含义是什么?

最佳答案

我找到了这个:
man sh :

-x xtrace        Write each command to standard error (preceded by
                            a ‘+ ’) before it is executed.  Useful for debug‐
                            ging.


-e errexit       If not interactive, exit immediately if any
                            untested command fails.  The exit status of a com‐
                            mand is considered to be explicitly tested if the
                            command is used to control an if, elif, while, or
                            until; or if the command is the left hand operand
                            of an “&&” or “||” operator.

似乎这些只是错误控制选项,可确保在命令失败时不会发生更糟糕的事情。

关于bash - '#!/bin/sh -xe' 是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53574827/

10-16 05:54