2
我找不到git的别名的,允许的任何实例参数用空格参数,这里是我创造:的Git别名的与具有空间
cax = "!f() { msg=${1-Default message}; git add --all && git commit -am "$msg"; }; f"
这工作正常:
git cax "one-word"
但打破了:
git cax "one word"
谢谢!
我找不到git的别名的,允许的任何实例参数用空格参数,这里是我创造:的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阅读你的配置文件时被Git特别对待,但是你想将这两个字符传递给shell。改为使用\"$msg\"
。
你用单引号试过了吗? 'cax ='!f(){msg = $ {1-Default message}; git add --all && git commit -am“$ msg”; }; f'' – VonC 2014-09-27 15:52:45
@VonC这是有道理的,但在我的系统上测试表明它不起作用。 – hvd 2014-09-27 16:05:13