1 SC2062
Devyn Collier Johnson edited this page 2015-12-06 19:38:45 -05:00

Quote the grep pattern so the shell won't interpret it.

Problematic code

grep foo* file

Correct code

grep "foo*" file

Rationale

The regex passed to grep frequently contains characters that collide with globs. The code above is supposed to match "f followed by 1 or more o's", but if the directory contains a file called "foo.txt", an unquoted pattern will cause it to become grep foo.txt file.

To prevent this, always quote the regex passed to grep, especially when it contains one or more glob character.