1

我不得不忽略多个目录,所以我尝试了

ag --hidden --ignore '.git' --ignore 'plugged' -g ""

--ignore但是每次我试图忽略一个目录时,这种叙述的过程感觉是不必要的。因此,我尝试使用 bash 花括号完成,如下所示:

ag --hidden --ignore {.git,plugged} -g ""

但它没有奏效,这是理所当然的。因为花括号里面的东西,完成后看起来像

ag --hidden --ignore .git plugged -g ""

浏览了一下后,我尝试了:

ag --hidden --ignore={.git,plugged} -g ""

它奏效了。但是为什么要使用与文档(man ag)明确说明的方式--ignore=PATTERN相同的结果呢?--ignore PATTERN--ignore PATTERN

4

1 回答 1

0

这是ag's 的命令行解析与其文档的已知问题。看:

  1. https://github.com/ggreer/the_silver_searcher/issues/778
  2. https://github.com/ggreer/the_silver_searcher/pull/707

在这种特定情况下,由于ag正确读取带有和不带有等号的忽略模式,它看起来更像是一个未记录的功能而不是一个缺点。

于 2019-06-06T07:23:59.830 回答