阻止可执行文件和内置程序将以 - 开头的字符串参数解释为开关?

Eri*_*ikE -1 command-line shell escape-characters arguments command-switch

假设我想在文件中搜索以破折号开头的字符串,例如"-something"

grep "-something" filename.txt
Run Code Online (Sandbox Code Playgroud)

但是,这会引发错误,因为grep其他可执行文件以及内置程序都希望将其视为无法识别的命令行开关。有没有办法防止这种情况发生?

ImH*_*ere 5

对于grep使用-e标记的正则表达式模式:

grep -e "-something" filename.txt
Run Code Online (Sandbox Code Playgroud)

对于一般的内置使用--,在许多实用程序中它标记“选项结束”(但不是在 GNU grep 中)。