Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

zsh: unknown file attribute

Tags:

zsh

zshrc

I have the following function in my .zshrc which, in theory, allows me to write a commit message without needing quotation marks.

cm(){
    git commit -m "$@"
}

When I run it (cm foo bar), I get the following error:

zsh: unknown file attribute

Does $@ mean the same thing in zsh as it does in bash?

like image 265
Marcel Avatar asked May 13 '16 22:05

Marcel


1 Answers

Accoring to this article, * and @ both contain an array of the positional parameters.

The parameters *, @ and argv are arrays containing all the positional parameters; thus $argv[n], etc., is equivalent to simply $n.

And...

A subscript of the form [*] or [@] evaluates to all elements of an array; there is no difference between the two except when they appear within double quotes. "$foo[*]" evaluates to "$foo[1] $foo[2] ...", whereas "$foo[@]" evaluates to "$foo[1]" "$foo[2]" ....

like image 82
Adam Lee Avatar answered Oct 19 '22 09:10

Adam Lee