使用shell命令进行Git配置

时间:2012-01-27 21:45:38

标签: macos git bash

我有一个执行简短状态的别名,用sed解析它然后将文件添加到'假设 - 未更改' git指数。

然而,这个问题似乎是我在OS X bash中逃避单引号的理解中的一个简单问题。

irm = !sh -c 'git ignore $(git st --short -u | sed '\''/^ D/s/^ D//g'\'')'  

这是gitconfig中的完整行。我可以在shell中发出命令(带sh和引号),但是当我尝试通过git irm运行它时,我得到了错误的git配置

根据以下建议,我对此进行了一些不同的配置。但是,它仍然无法在gitconfig中工作。所以我将其添加到我的~/.profile

alias irm="git ignore $(git st --short | grep '^ D' | sed 's/^ D //')"

1 个答案:

答案 0 :(得分:1)

你应该可以使用双引号,但你必须逃避它们:

irm = !sh -c 'git ignore $(git st --short -u | sed \"s/^ D//\")'

您无需选择该行,因为操作与选择相同。如果您只想输出匹配并排除其他任何内容的行,则可能需要在评论中使用-npsed作为克里斯建议。

此外,由于模式已锚定,因此您不需要全局选项。