zsh:未知文件属性

Mar*_*cel 5 zsh zshrc

.zshrc从理论上讲,我具有以下功能,该功能允许我编写提交消息而无需使用引号。

cm(){
    git commit -m "$@"
}
Run Code Online (Sandbox Code Playgroud)

运行(cm foo bar)时,出现以下错误:

zsh: unknown file attribute
Run Code Online (Sandbox Code Playgroud)

是否$@意味着zsh的同样的事情,因为它在bash呢?

Ada*_*Lee 8

根据这篇文章,*两者@都包含位置参数数组。

参数*@argv是包含所有位置参数的数组;因此$argv[n]等 等价于简单的$n.

和...

形式的下标[*]or[@]计算数组的所有元素;两者之间没有区别,除非它们出现在双引号内。"$foo[*]"计算结果为"$foo[1] $foo[2] ...",而"$foo[@]"计算结果为"$foo[1]" "$foo[2]" ...