Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 2 revisions

fgrep is non-standard and deprecated. Use grep -F instead.

Problematic code:

fgrep '*.*' file

Correct code:

grep -F '*.*' file

Rationale:

fgrep is a non-standard command. Its functionality is provided in POSIX by grep -F. POSIX grep says:

This grep has been enhanced in an upwards-compatible way to provide the exact functionality of the historical egrep and fgrep commands as well. It was the clear intention of the standard developers to consolidate the three greps into a single command.

man grep for GNU says:

Direct invocation as either egrep or fgrep is deprecated

Exceptions:

ShellCheck will fail to recognize when functions override fgrep. Consider giving it a different name or ignore this error.

ShellCheck

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally