如何回显文字“-n”

k31*_*159 3 bash echo

是否可以-n仅使用shell 中echo内置的命令来回显两个字符的字符串bash

我知道我可以做,printf '%s\n' -n但只是想知道echo内置函数是否能够输出字符串-n

Kus*_*nda 5

使用-e八进制 55 表示-

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

... 或 156 的n八进制,或两者的八进制:

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

如果-e是困扰你,设置shell选项xpg_echo,使echo总是解释反斜杠序列(这通常不是你想要什么,虽然):

$ shopt -s xpg_echo
$ echo '-\0156'
-n
Run Code Online (Sandbox Code Playgroud)

echobash也承认十六进制:

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