[Bug 13151] New: Inconsistent exit code with grep -L
bugzilla at busybox.net
bugzilla at busybox.net
Wed Aug 12 09:07:52 UTC 2020
https://bugs.busybox.net/show_bug.cgi?id=13151
Bug ID: 13151
Summary: Inconsistent exit code with grep -L
Product: Busybox
Version: 1.31.x
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: xiechengliang1 at huawei.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
Created attachment 8556
--> https://bugs.busybox.net/attachment.cgi?id=8556&action=edit
Inconsistent exit code with grep -L
`grep` / `grep -v` / `grep -l` when the "search" is successful, it exits `0`
and when the search is unsuccessful it exits `1`. but `grep -L` does not follow
this pattern which maybe an oversight or bug.
Consider the following:
$ echo hello > f
# Search is for "hello", it matches so exit code is 0
$ grep hello ./f; echo $?
hello
0
# Search is for "hi", it fails to match so the exit code is 1
$ grep hi ./f; echo $?
1
# Search is for not "hi", it matches so exit code is 0
$ grep -v hi ./f; echo $?
hello
0
# Search is for not "hello", it fails to match so the exit code is 1
$ grep -v hello ./f; echo $?
1
# Search is for filenames containing hello, it matches so exit code is 0
$ grep -l hello ./f; echo $?
f
0
# Search is for filenames containing hi, it fails to match so exit code is 1
$ grep -l hi ./f; echo $?
1
# Search is for filenames not containing hi, this search is successful
**but it exits 1**
$ grep -L hi ./f; echo $?
f
1
# Search is for filenames not containing hello, this search fails
**but it exits 0**
$ grep -L hello ./f; echo $?
0
GNU grep had same problem, but now it's fixed.
https://lists.gnu.org/archive/html/bug-grep/2017-08/msg00010.html
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the busybox-cvs
mailing list