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