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

时间:2014-05-09 11:33:28

标签: shell echo

如何逃避特殊角色?我想打印减号。

echo \-; # Output:-
echo '-n'; #Output: nothing!

1 个答案:

答案 0 :(得分:5)

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

这里printf很方便:

$ printf "%s" "-n"
-n

如果您想在n后面添加换行符,

$ printf "%s\n" "-n"
-n

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

$ echo -e '\055n'
-n

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