如何寫一個將所有參數放入引號中的 bash 函數?

如何寫一個將所有參數放入引號中的 bash 函數?

我想為 git commit 新增別名。這是我到目前為止所擁有的: function commit() { git commit -m "$@"; }

這適用於單字提交訊息,但當您嘗試時會中斷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在最初呼叫函數後偵聽輸入的命令:

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

您只需撥打電話commit,然後根據提示輸入訊息即可。

相關內容