我找不到任何允许带空格参数的git别名的例子,这是我创建的:
cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f"
这适用于:
git cax "one-word"
但打破了:
git cax "one word"
谢谢!
答案 0 :(得分:3)
您是否注意到问题中突出显示的语法奇怪?
cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f" ^^^^^^ ^^^^ black ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ red
这应该是一个很大的暗示。问题是您的函数定义中没有引用$msg
。 Git在读取您的配置文件时会专门处理"
个字符,但您希望将这两个字符传递给shell。请改用\"$msg\"
。