[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26205: Unhappy with deprecating GREP_OPTIONS
From: |
Ankeet |
Subject: |
bug#26205: Unhappy with deprecating GREP_OPTIONS |
Date: |
Tue, 7 Nov 2017 13:00:52 -0800 |
>> Why is GREP_OPTIONS deprecated?
> The main reason is that it breaks shell scripts. Scripts generally
> expect 'grep' to behave as specified in POSIX and as implemented via
> traditional 'grep' implementations. GREP_OPTIONS breaks this.
> Some shell scripts work around the problem by explicitly unsetting
> GREP_OPTIONS before they call 'grep'. However, most scripts don't, I
> expect because their authors are not generally aware of this
> compatibility issue. So in practice the convenience of GREP_OPTIONS can be
> more trouble than it's worth.
Here's a simpler fix: grep should test for an interactive shell before parsing
GREP_OPTIONS. [There are a number of methods outlined in the man
page](http://www.tldp.org/LDP/abs/html/intandnonint.html). At least two of
these methods (PS1[1] and test "$($0)” are POSIX compatible if i’m not mistaken.
Interactive shell users can still export GREP_OPTIONS to get a persistent
configuration. But this way, shell scripts get grep without the variable set,
and if they really need to, can still use those options by calling “grep
$GREP_OPTIONS …” explicitly.
- bug#26205: Unhappy with deprecating GREP_OPTIONS,
Ankeet <=