0

$@unix shell 脚本中的含义是什么。例如:

A__JOB="$CLASS $@"

其中 $CLASS 有我的 java 类文件名。那么这可能是什么意思

$@.

我做了什么?我用谷歌搜索 :) 但 $@ 似乎是对 ir 的复杂查询,或者我可能不知道如何在谷歌搜索特殊字符。

4

1 回答 1

2

$@是传递的所有参数的值。

例如,如果您通过:

./script A B C D

那么“$@”将等于"A" "B" "C" "D"

所以看起来目的是将所有传递给脚本的参数直接传递给java程序。

来自 bash 手册:

@ 展开为位置参数,从一开始。当扩展出现在双引号内时,每个参数都扩展为一个单独的单词。即 "$@" 等价于 "$1" "$2" ... 如果双引号展开出现在一个单词中,则第一个参数的展开与原词的开头部分连接,展开的最后一个参数与原始单词的最后一部分连接。当没有位置参数时,"$@" 和 $@ 扩展为空(即,它们被删除)。

于 2013-05-14T06:23:47.757 回答