标题确切地说。我没有运气找到合适的文档来了解-xe在以下用例中的作用:

#!/bin/bash -xe

这些参数的作用以及在何处进行了记录?

评论

您是在谈论传递给BASH二进制文件的参数,还是在谈论BASH脚本语言中的函数和参数?

引用传递给BASH二进制文件的参数,例如:#!/ bin / bash -xe

#1 楼

如果您阅读了bash的手册页,则会在OPTIONS部分的顶部找到以下内容:

 All of the  single-character shell options documented in the
 description of the set builtin command can be used as options when the
 shell is invoked. In addition, bash interprets the following options
 when it is invoked...


并且以后再阅读set命令的文档时,在手册页上,您会发现:

 -e      Exit  immediately  if a pipeline (which may consist of a
 single simple command),  a subshell command enclosed in parentheses,
 or one of the commands executed as part of a command list enclosed by
 braces (see SHELL GRAMMAR above) exits with a non-zero  status. 

 -x      After expanding each simple command, for command, case
 command, select command, or arithmetic  for  command,  display
 the  expanded value of PS4, followed by the command and its
 expanded arguments or associated word list.


换句话说,-e使Shell每当出现错误返回错误时立即退出(这是通常在Shell脚本中用作
故障安全机制),而-x启用了脚本的详细执行,因此您可以看到正在发生的事情。

#2 楼

在控制台上键入以下内容以获取BASH参数的说明:

bash -c "help set"


回答您的问题:

-e如果出现以下情况,请立即退出命令以非零状态退出。

-x在执行命令时打印命令及其参数。

评论


还是只是帮忙?

– Nagev
20年1月23日在11:01

@Nagev要获得帮助集的bash版本,无论您使用什么外壳,都必须使用完整命令。

–阿里·斯威德勒
2天前

#3 楼

从联机帮助页:


调用shell时,可以使用set内置命令描述中记录的所有单字符shell选项作为选项。


因此请看内置的集。

#4 楼

您是否在考虑设置-x set -e set -...的内容?运行help set可以得到这些。

评论


我正在考虑使用以下参数:#!/ bin / bash -xe

–富有想象力
2012年5月21日23:58

#5 楼


在哪里阅读有关传递给bash的参数的文档的最佳位置?
-x和-e是什么?我尝试了man 1 bash,但那里似乎没有涵盖。


阅读basj联机帮助页的OPTIONS部分。

#6 楼

我将出色的Bash参考手册用作Bash语言的一站式文档。我发现它比手册页有用。与您相关的部分(有关-e,-x开关的描述,请参见:set builtin