* Craig Dickson (crdic@pacbell.net) wrote: > Stephen Frost wrote: > > It's obvious that humans don't need egrep and fgrep, since the same > > functionality is available in grep -E and grep -F. Thus we should do > > away with them entirely. > > If grep were smart enough to check $0 and modify its behavior > accordingly (I don't think it does currently), then egrep and fgrep > could be replaced by links. Even without that, egrep and fgrep could be > replaced by scripts that exec grep with appropriate arguments. Either > way, egrep and fgrep would become negligibly small, and so the argument > for moving them to /usr/bin would be much weaker. > > There is merit in having egrep and fgrep available under those names, > because people will expect them. They don't have to be in any particular > place as long as they're on the standard $PATH, since programs shouldn't > be hard-coding the locations of binaries from other packages. Startup > scripts and other programs in the root fs are a special case, since they > need to avoid using things that may not have been mounted yet, but the > change from {ef}grep to grep -{EF} is trivial. grep can be trivally compiled to check $0 and modify its behaviour as appropriate. The GNU folks *intentionally* broke that as the default because of some (rather odd..) concern about programs acting differently when they're called via links. Personally I think they're wrong and that having a program's behaviour depend on its $0 is acceptable so long as there is a 'base' version which takes arguments for those who worry about such things. grep isn't the only thing that suffers from this breakage (strip/objcopy is another example, I'm confident there are more). As mentioned in the other thread, my recommendation is that grep by fixed to check it's $0 and act accordingly for grep/egrep/fgrep. As I also mentioned before I feel a shell script replacement would be acceptable too (and should alleviate the concerns of those who feel the same as the GNU folks). I don't agree that scripts should be forced to use the base grep with options and I don't agree with moving egrep/fgrep to /usr/bin. Stephen
Attachment:
pgpfkAzp77u8p.pgp
Description: PGP signature