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