如何转义shell参数,如'-n'

ahu*_*igo 4 shell echo

如何逃避特殊性格?我想打印减号.

echo \-; # Output:-
echo '-n'; #Output: nothing!
Run Code Online (Sandbox Code Playgroud)

dev*_*ull 5

您正在尝试打印-n被解释为参数以禁用打印尾随换行符.

这里printf方便:

$ printf "%s" "-n"
-n
Run Code Online (Sandbox Code Playgroud)

如果你想要换行后n,

$ printf "%s\n" "-n"
-n
Run Code Online (Sandbox Code Playgroud)

一个丑陋的使用方法echo是使用八进制值的连字符,即-,

$ echo -e '\055n'
-n
Run Code Online (Sandbox Code Playgroud)

-e参数可以解释反斜杠转义.