我找不到任何允许带空格参数的 git 别名示例,这是我创建的:
cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f"
这适用于:
git cax "one-word"
但中断:
git cax "one word"
谢谢!
最佳答案
您是否注意到问题中突出显示的奇怪语法?
cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f" ^^^^^^ ^^^^ black ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ red
这应该是一个很大的提示。问题是 $msg
没有在你的函数定义中被引用。 "
字符在 Git 读取您的配置文件时会被特殊处理,但您想将这两个字符传递给 shell。请改用 \"$msg\"
。
关于带有空格的参数的 Git 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26076251/