We need to use a double-dash anytime our non-option arguments start with a hyphen.
[alexlai@x8664Arch tmp]$ grep "--hello" file0.txt
grep: unrecognized option '--hello'
Usage: grep [OPTION]... PATTERNS [FILE]...
Try 'grep --help' for more information.
[alexlai@x8664Arch tmp]$ grep -- --hello file0.txt
Not Supported by All Commands Unfortunately, not all commands support the double-dash feature.
For example, let's take a look at the echo command in Bash. If we would like to output the string "-n" using echo, we could try using a double-dash to terminate the option processing:
$ echo -- "-n"
-- -n