Git别名包含带空格的参数

时间:2014-09-27 15:32:44

标签: git shell alias

我找不到任何允许带空格参数的git别名的例子,这是我创建的:

cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f"

这适用于:

git cax "one-word"

但打破了:

git cax "one word"

谢谢!

1 个答案:

答案 0 :(得分:3)

您是否注意到问题中突出显示的语法奇怪?

cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f"
^^^^^^                                                                   ^^^^         black
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ^^^^^^^^ red

这应该是一个很大的暗示。问题是您的函数定义中没有引用$msg。 Git在读取您的配置文件时会专门处理"个字符,但您希望将这两个字符传递给shell。请改用\"$msg\"