$ ls -l /bin/*grep
lrwxrwxrwx 1 root root 4 2010-06-09 02:56 /bin/egrep -> grep
lrwxrwxrwx 1 root root 4 2010-06-09 02:56 /bin/fgrep -> grep
-rwxr-xr-x 1 root root 85060 2007-01-23 02:00 /bin/grep
$ echo 'hello' | grep -q 'l{2}' && echo YES || echo NO
NO
$ echo 'hello' | egrep -q 'l{2}' && echo YES || echo NO
YES
在我的系統中,egrep
是一個到grep
的符號鏈接,但它們的行爲不同。爲什麼?爲什麼egrep和grep的行爲不同,儘管它們是相同的二進制文件?