$* 在 bash 脚本中意味着什么?

发布于 2025-01-02 19:34:56 字数 99 浏览 1 评论 0原文

$* 在 bash 脚本中意味着什么?

我尝试在谷歌上搜索它,但我只找到了 $0$1 等。

What does $* mean in bash scripting?

I tried to search on google for it, but I found only about $0, $1 and so on.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

梦里泪两行 2025-01-09 19:34:56

man 页面:

* 扩展为位置参数,从 1 开始。当扩展发生在双引号内时,它会扩展为单引号
每个参数的值由 IFS 特殊变量的第一个字符分隔的单词。即“$*”等价
到“$1c$2c...”,其中 c 是 IFS 变量值的第一个字符。如果未设置 IFS,则参数是分开的
通过空格。如果 IFS 为 null,则连接参数时不插入分隔符。

因此它相当于所有位置参数,但语义略有不同,具体取决于它是否在引号中。

From the man page:

* Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, it expands to a single
word with the value of each parameter separated by the first character of the IFS special variable. That is, "$*" is equivalent
to "$1c$2c...", where c is the first character of the value of the IFS variable. If IFS is unset, the parameters are separated
by spaces. If IFS is null, the parameters are joined without intervening separators.

So it is equivalent to all the positional parameters, with slightly different semantics depending on whether or not it is in quotes.

划一舟意中人 2025-01-09 19:34:56

请参阅此页面:

http://tldp.org/LDP/abs/html/内部变量.html#IFSEMPTY

当 $IFS 为空时 $* 和 $@ 的行为取决于
+ 正在运行的 Bash 或 sh 版本。
因此,不建议在脚本中依赖此“功能”。

See this page:

http://tldp.org/LDP/abs/html/internalvariables.html#IFSEMPTY

The behavior of $* and $@ when $IFS is empty depends
+ on which Bash or sh version being run.
It is therefore inadvisable to depend on this "feature" in a script.

缱绻入梦 2025-01-09 19:34:56

这是传递给脚本的所有参数,除了按单词分割之外。您几乎总是想使用 "$@" 来代替。这些都在 bash(1) 手册页中。

It's all the arguments passed to the script, except split by word. You almost always want to use "$@" instead. And it's all in the bash(1) man page.

一片旧的回忆 2025-01-09 19:34:56

它是在命令行上提供给脚本的参数列表。$0 将是脚本名称。

Its the list of arguments supplied on the command line to the script .$0 will be the script name.

‘画卷フ 2025-01-09 19:34:56

它是所有参数的空格分隔字符串。例如,如果 $1 是“hello”,$2 是“world”,则 $* 是“hello world”。 (除非设置了 $IFS;那么它就是一个 $IFS 分隔的字符串。)

It's a space separated string of all arguments. For example, if $1 is "hello" and $2 is "world", then $* is "hello world". (Unless $IFS is set; then it's an $IFS separated string.)

抚你发端 2025-01-09 19:34:56

您可以使用 Symbolhound 搜索引擎来查找 google 不会查找的代码。

对于您的查询单击此处

You can use symbolhound search engine to find codes that google will not look for.

For your query click here

Saygoodbye 2025-01-09 19:34:56

如果您看到 $ 前缀带有任何内容,则表示它是一个变量。使用变量的值。

示例:

count=100
echo $count
echo "Count Value = $count"

上述脚本的输出:

100
Count Value = 100

If you see $ in prefix with anything , it means its a variable. The value of the variable is used.

Example:

count=100
echo $count
echo "Count Value = $count"

Output of the above script:

100
Count Value = 100
晚雾 2025-01-09 19:34:56

作为一个独立的命令,它在 bash 脚本中没有任何意义。
但是,根据命令中的用法,它用于指示具有某些共同特征的文件/文件夹的常见操作。

并使用 grep 来表示命令中的零个或多个常见特征。

As an independent command it doesn't have any significance in bash scripting.
But, as per usage in commands, it's used to indicate common operation on files / folders with some common traits.

and with grep used to represent zero or more common traits in a command.

虚拟世界 2025-01-09 19:34:56

好吧,当你找到平均数或总数时就是这种情况。

$# 传入参数的数量
$* 要传递的所有参数的数量

Well,such case when you find number of average or total number.

$# number of argument to pass in the number
$* number of all argument to pass

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文