すべての引数を引用符で囲む bash 関数をどのように記述すればよいでしょうか?

すべての引数を引用符で囲む bash 関数をどのように記述すればよいでしょうか?

git commit にエイリアスを付けたいです。これまでのところ、次のようになっています: function commit() { git commit -m "$@"; }

これは、1 単語のコミット メッセージでは機能しますが、commit a messageたとえば次のようにすると機能しなくなります。関数によって行われた呼び出しで引用符内のスペースを保持するにはどうすればよいですか?

答え1

これで問題は解決します:

function commit() { git commit -m "$*"; }

詳細はこちらをご覧ください:https://unix.stackexchange.com/questions/41571/what-is-the-difference-between-and

答え2

もちろん、複数単語のメッセージを引数として渡すことができるように、引用符で囲むこともできます。

commit "this is my message"

readもう 1 つのオプションは、関数が最初に呼び出された後に入力をリッスンするコマンドを使用することです。

function commit() {
printf "Enter your commit message.\n";
read msg;
git commit -m "$msg"; }

電話をかけてcommit、プロンプトに従ってメッセージを入力するだけです。

関連情報