每个 grep 命令都返回“grep: invalid option -- '='”

use*_*887 7 command-line bash grep

我已经grep在 Ubuntu 上删除并重新安装,但仍然存在相同的错误。

无论我输入什么 grep` 命令,我总是看到以下输出:

grep: invalid option -- '='
Usage: grep [OPTION]... PATTERN [FILE]...
Try grep --help for more information.`
Run Code Online (Sandbox Code Playgroud)

所以即使

grep -V
Run Code Online (Sandbox Code Playgroud)

导致此错误,或

grep --help
Run Code Online (Sandbox Code Playgroud)

一样!

/bin/grep 与在我的其他相同主机上的字节大小相同,在那里它工作正常,所以它可能是一些环境变量或本地设置。

有任何想法吗?

小智 18

如果这还没有解决,请查看目录中是否有任何以“-”开头的文件。

参考

帮助过我。


Jer*_*err 5

听起来你有一个 grep 的别名,它添加了无效的参数。请尝试以下操作:

type grep
Run Code Online (Sandbox Code Playgroud)

这将告诉您该grep命令是否是别名。如果是,请检查您的.profile,.bash_profile.bashrc文件以了解定义此别名的位置。

  • 所以你是说它现在工作正常?你有没有改变什么? (2认同)

小智 5

我认为你需要使用:

grep -e "="
Run Code Online (Sandbox Code Playgroud)

  • 如果命令 `grep --help` 给出了无效选项错误,那么这不是一个答案。 (4认同)
  • 这对我有帮助,我最终在这里尝试 grep 搜索包含 -> 的字符串,这给出了错误“grep invalid option -->”。我在命令中添加了 -e 来告诉 grep 下一个参数是模式而不是参数。 (2认同)