如何编写一个将所有参数放入引号中的 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,然后根据提示输入您的消息。

相关内容