Недавно заметил такую неприятность: при любом вызове egrep он заявляет:
Shell
%> echo "test" | egrep test
egrep: invalid option -- 'E'
Usage: egrep [OPTION]... PATTERN [FILE]...
Try `egrep --help' for more information.
То же самое при вызове egrep без параметров и egrep --help. Не знаю как давно, т.к. сам если надо пользуюсь grep -E; egrep попался в чужом скрипте.
Gentoo ~amd64, grep собран с USE="nls pcre".
emerge --info:
То же самое при вызове egrep без параметров и egrep --help. Не знаю как давно, т.к. сам если надо пользуюсь grep -E; egrep попался в чужом скрипте.
Gentoo ~amd64, grep собран с USE="nls pcre".
#if defined(EGREP_PROGRAM)
printf (_("\
Invocation as `egrep' is deprecated; use `grep -E' instead.\n"));
#elif defined(FGREP_PROGRAM)
printf (_("\
Invocation as `fgrep' is deprecated; use `grep -F' instead.\n"));
#else
drb@localhost:~$ alias ls='XXX'
drb@localhost:~$ ls
bash: XXX: command not found
drb@localhost:~$ which ls
/usr/bin/ls
drb@localhost:~$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
Ни единого слова про egrep ни в одном конфиге нет. where - встроенная команда zsh, показывает и алиасы, и функции. И ничего не подменяет, /bin/egrep выдаёт то же самое. Похоже, дело в том, что
А `egrep` у вас, случайно, не скрипт какой-нибудь? И, если нет, посмотрите исходники - если он просто вызывает `grep`, то там должно быть все совсем просто
А `egrep` у вас, случайно, не скрипт какой-нибудь? И, если нет, посмотрите исходники - если он просто вызывает `grep`, то там должно быть все совсем просто
взгляните на это, про GREP_OPTIONS, в частности. по-моему ваш случай
Точно, мой. Спасибо.
Только не понятно откуда оно взялось. Ни в .zshrc, ни в /etc ни одного упоминания про GREP_OPTIONS не нашёл. Пришлось в .zshrc дописать export GREP_OPTIONS=""
и быть при этом уверенным что все будет работать как написано - нужно быть ну очень смелым человеком :)
Ну, во-первых, в portage есть только одна версия grep - из стабильной ветки. А во-вторых, оно работает как написано. Проблем, кроме этой, не нашёл. Да и эту бы не нашёл, если бы не тот скрипт...
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Точно, мой. Спасибо.
Только не понятно откуда оно взялось.
ИМХО лучше вообще не использовать grep, ну кроме самых простых случаев, или когда нужно найти слово в файлах внутри дерева каталогов (альтернативную sed придётся запускать вместе с find в этом случае, много кнопок давить).
Только не понятно откуда оно взялось. Ни в .zshrc, ни в /etc ни одного упоминания про GREP_OPTIONS не нашёл. Пришлось в .zshrc дописать export GREP_OPTIONS=""
я бы поискал все-таки (и рассказал общественности - на случай подобных граблей): не может это в окружении браться "из воздуха"
Нашёл. Где-то в середине ~/.zshrc был засорусен файл ~/.kde/share/env, в котором была эта переменная и ещё несколько каких-то, судя по всему относящихся к kde (KDEDIR, INCLUDE=$INCLUDE:$KDEDIR/include и ещё что-то). Т.к. с kde я слез году в 2004-2005, файл тоже где-то тех времён. За каким я вписал это в отдельный файл и заинклудил его в середине я уже, естественно, не помню %). Файл убрал, конфиг заодно подчистил от древнего мусора. Заявление для общественности: на случай подобных граблей надо делать не