grep匹配精确的子串忽略正则表达式语法

joh*_*ohv 8 bash grep

有没有办法让grep匹配一个精确的 字符串,而不是将其解析为正则表达式?或者是否有一些工具可以正确地为grep转义字符串?

$ version=10.4
$ echo "10.4" | grep $version
10.4
$ echo "1034" | grep $version # shouldn't match
1034
Run Code Online (Sandbox Code Playgroud)

joh*_*ohv 14

使用grep -F或fgrep.

$ echo "1034" | grep -F $version # shouldn't match
$ echo "10.4" | grep -F $version
10.4
Run Code Online (Sandbox Code Playgroud)

见手册页:

   -F, --fixed-strings
         Interpret PATTERN as a list of fixed strings, separated
         by newlines, any of which is to be matched.
Run Code Online (Sandbox Code Playgroud)

我一直在寻找术语"文字匹配"或"固定字符串".

(另请参阅将grep与复杂字符串一起使用以及grep如何解释字面上包含星号的字符串并通过变量提供给grep?)