我是bash脚本的新手,我在代码中遇到了几个$*
和*
(不是双引号)。我对他们的理解是,除了上面提到的那些之外,他们都代表所有其他可能性。例如
echo "$1"
$*
如果输入行是
A B C D E F
然后$*
代表B-F。我是对的吗?
同样适用于*
,它经常出现在case
中。它在C中用作else
,对吗?
答案 0 :(得分:3)
$*
是作为单词传递给脚本的每个参数。这通常是错误的。 "$@"
几乎总是首选,因为即使由多个单词组成,它也会将每个参数保持在一起。
*
是一个glob通配符,表示“匹配任何内容”(大多数情况下隐藏文件除外)。在case
中,它会匹配任何文字。