【问题标题】:Git alias's with arguments that have spaces带有空格的参数的 Git 别名
【发布时间】:2014-09-27 15:32:43
【问题描述】:

我找不到任何允许带空格的参数的 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'
  • @VonC 这很有道理,但在我的系统上进行测试表明它不起作用。

标签: git shell alias


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-03-20
    • 2020-07-19
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2013-09-23
    • 2015-08-25
    • 2018-10-10
    相关资源
    最近更新 更多