Чому MSYS grep не приймає варіанти зі змінної?


2

Щоб встановити мої параметри за замовчуванням для grep(від MSYS в Win7) для ігнорування об'єктних файлів та конкретних файлів, я експортував GREP_OPTIONSу ~/.profileтакий спосіб:

export GREP_OPTIONS='--exclude=*.{o,obj,pyc} --exclude-dir={.git,_Output}'
export GREP_COLOR='1;32'

Навіть після перезавантаження оболонки для вступу .profileв силу, мій дзвінок grepвсе одно шукає об’єктивні файли. Однак GREP_COLORзмінна, здається, працює. Я навіть спробував явно встановити свої параметри в одну оболонку перед виконанням grep:

$ grep --version
GNU grep 2.5.4

Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ export GREP_OPTIONS='--exclude=*.{o,obj,pyc} --exclude-dir={.git,_Output}'
$ echo $GREP_OPTIONS
--exclude=*.{o,obj,pyc} --exclude-dir={.git,_Output}
$ grep $GREP_OPTIONS -r foo .
grep: ./bar.o: Permission denied
./baz.c:My foo text
$ grep --exclude=*.{o,obj,pyc} --exclude-dir={.git,_Output} -r foo .
./baz.c:My foo text

Як отримати grepавтоматично використовувати GREP_OPTIONSз ~/.profile?

Відповіді:


0

Спробуйте

експортувати GREP_OPTIONS = '- виключити = " *. {o, obj, pyc} " --exclude-dir = {. git, _Output}'

тобто додавання --excludeшаблону імен файлів у (подвійні) лапки.


Дякую, але це також не працює.
tony19

0

Спробуйте помістити змінні у .profile разом із рядком, який містить щось на зразок наступного:

alias grep='grep $GREP_OPTIONS'

Це просто може це виправити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.