4

我正在创建一个更新 git 分支的 bash 脚本,一切正常,但现在我想添加将提交消息指定为参数的选项。

我首先使用了这个命令:

echo "Executing git commit..."
git commit -m "$1"

但是当我发送这样的东西时:

$ git.sh "testing commit message"

我收到一堆错误,告诉我命令无法被 git 识别。

我想在这种情况下,我添加的双引号不是将参数作为单个字符串传递,而是将参数作为多个传递,因此 -m 选项仅采用第一个,而 git 尝试将其他双引号作为提交选项传递。

从脚本参数中获取多字字符串作为 git commit 消息时,有没有更好的方法?

我非常感谢您的任何建议。

4

2 回答 2

4

当 shell 评估命令时,引号将被删除。

使用类似的东西

git commit -m "'$1'"
于 2012-11-08T05:45:37.247 回答
1

这对我有用:

git commit -m "$(echo $@)"
于 2020-03-09T12:54:55.277 回答