Reputation: 1191
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?
Upvotes: 12
Views: 76883
Reputation: 5188
If you are also getting this similar error zsh: unknown file attribute: 1
while running a command then it may be due to character (
and )
For me I was trying to delete a git remote branch with name example-(123)
it throws the above mentioned error, you can fix it by wrapping the branch name in single/double quotes e.g below
git push --delete origin "example-(123)"
Upvotes: 5
Reputation: 1894
Accoring to this article, *
and @
both contain an array of the positional parameters.
The parameters
*
,@
andargv
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]" ...
.
Upvotes: 10