“-e”开关在bash shebang中起什么作用

“-e”开关在bash shebang中起什么作用,bash,Bash,在狂欢节上,-e标志做什么 #!/bin/bash -e 很明显这是一面旗帜,但不清楚它是什么 e、 在剧本的开头 当命令失败时,使用set-o errexit(又称set-e)使脚本退出 请参阅以下文章以获取有关编写好的bash脚本的更多信息: 来自《曼巴什》: -e Exit immediately if a pipeline (which may consist of a single simple command), a

在狂欢节上,
-e
标志做什么

#!/bin/bash -e
很明显这是一面旗帜,但不清楚它是什么

e、 在剧本的开头

当命令失败时,使用set-o errexit(又称set-e)使脚本退出

请参阅以下文章以获取有关编写好的bash脚本的更多信息:


来自《曼巴什》:

 -e      Exit  immediately  if a pipeline (which may consist of a
                      single simple command), a list, or  a  compound  command
                      (see  SHELL  GRAMMAR above),  exits with a non-zero sta‐
                      tus.  The shell does not exit if the command that  fails
                      is  part  of  the  command  list immediately following a
                      while or until keyword, part of the test  following  the
                      if  or elif reserved words, part of any command executed
                      in a && or || list  except  the  command  following  the
                      final  && or ||, any command in a pipeline but the last,
                      or if the command s return value is being inverted  with
                      !.   If a compound command other than a subshell returns
                      a non-zero status because a command failed while -e  was
                      being  ignored, the shell does not exit.  A trap on ERR,
                      if set, is executed before the shell exits.  This option
                      applies to the shell environment and each subshell envi‐
                      ronment separately (see  COMMAND  EXECUTION  ENVIRONMENT
                      above), and may cause subshells to exit before executing
                      all the commands in the subshell.
If a compound command or shell function  executes  in  a
                  context  where -e is being ignored, none of the commands
                  executed within the compound command  or  function  body
                  will  be  affected  by the -e setting, even if -e is set
                  and a command returns a failure status.  If  a  compound
                  command  or  shell function sets -e while executing in a
                  context where -e is ignored, that setting will not  have
                  any  effect  until  the  compound command or the command
                  containing the function call completes.

因此,如果出现错误,它将立即退出。

因此在shebang使用它与
set-e
相同?是的,它的工作原理是相同的:
bash-e-c“echo‘这是第一条消息’;false;echo‘你看不见我’”
:>>这是第一条消息。你检查过手册页了吗?相关阅读:@Steve yes。我找不到任何关于它在shebang使用的信息。它被用作条件表达式,但似乎不适用。i、 e.“-e file True(如果文件存在)。”