2016-05-13 39 views
3

私は.zshrcに以下の機能を持っています。理論的には、引用符を必要とせずにコミットメッセージを書くことができます。zsh:不明なファイル属性

cm(){ 
    git commit -m "[email protected]" 
} 

私はそれ(cm foo bar)を実行すると、私は次のエラーを取得する:それはbashでないよう

zsh: unknown file attribute 

[email protected]はzshの中で同じことを意味していますか?

答えて

1

thisの記事、*および@には、両方とも位置パラメータの配列が含まれています。

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

そして...

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]" ... .

+0

* $ {*}の代わりに、$で今動作するように思われます。なぜzshがこれを違う方法で実装するのだろうと思います。 – Marcel

+0

コードの「$ @」を「$ {@}」に置き換えたということですか? –

+0

これは混乱して申し訳ありません。私は '' $ @ "'を '' $ {*} ''で置き換えました。私はそれが私が始まったものなので、私のコメントに間違ったことを入れました。トラブルシューティングをしていたときに、$ *に$ *を切り替えました。私が理解しているように、$ @は配列のようなもので、$ *はスペースで区切られた文字列です。 – Marcel

関連する問題