Linux 什么';s";设置--”$progname"&引用$@&引用&引用;在shell脚本中是什么意思?
我从configure.ac构建脚本中读取了这一行。我在谷歌上搜索过答案,但没有找到 我假设它是shell脚本,但这意味着什么,特别是对于Linux 什么';s";设置--”$progname"&引用$@&引用&引用;在shell脚本中是什么意思?,linux,shell,Linux,Shell,我从configure.ac构建脚本中读取了这一行。我在谷歌上搜索过答案,但没有找到 我假设它是shell脚本,但这意味着什么,特别是对于-- set -- "$progname" "$@" --是一个内置的bash,也是许多unix命令用来表示命令结束选项的东西。因此,如果您有类似以下内容: grep -- -v file -v不会被解释为grep选项,而是一个参数(因此您可以对-v进行grep) $@是传递到脚本中的所有参数的列表(我假设set命令是其中的一部分) --确保作为脚本一部分
--
set -- "$progname" "$@"
--
是一个内置的bash,也是许多unix命令用来表示命令结束选项的东西。因此,如果您有类似以下内容:
grep -- -v file
-v
不会被解释为grep选项,而是一个参数(因此您可以对-v
进行grep)
$@
是传递到脚本中的所有参数的列表(我假设set
命令是其中的一部分)
--
确保作为脚本一部分传入的任何选项都不会被解释为set
的选项,而是由$progname
变量表示的命令的选项。来自帮助集
:
--
的原因是确保即使“$progname”
或“$@”
包含破折号,它们也不会被解释为命令行选项
set
更改存储在$@
中的位置参数。因此,在本例中,它将“$progname”
附加到脚本接收到的位置参数的开头
-- Assign any remaining arguments to the positional parameters.
If there are no remaining arguments, the positional parameters
are unset.