从https://www.gnu.org/software/bash/manual/html_node/Special-Parameters.html,
-
(连字符。)扩展为调用时指定的当前选项标志、set 内置命令或 shell 本身设置的选项标志(例如 -i 选项)。
我不确定它说什么。您能举例说明连字符参数的含义吗?
答案1
答案2
它取决于 - 作为美元符号扩展,扩展为当前 shell 的表单字母选项$-
列表- 例如and和。例如,交互式 shell 将扩展它set
-x
-f
-C
至少喜欢:
echo "$-"
i
更长的set -o option
版本可以用set +o.
但还有另一种连字符特殊参数这与此类似。您可以使用二连续的连字符表示典型命令参数列表中选项的结束,但您也可以使用单个连字符对 POSIX-shell 执行相同的操作。从历史上看,贝壳接受单身的连字符的意思大致相同。
shellbash
专门解释参数列表上下文中的单连字符。例如set
,它标志着选项的结束和禁用-v
erbose 和-x
跟踪。另外,set -
确实不是如果参数列表是第一个也是唯一一个参数,则清除参数set
列表set --
。
登录 shell 通常会在-
其argv[0]
.