在shell中回显-n不会打印正确的东西

Luk*_*kap 9 linux bash shell sh

我知道这是一种特殊的人物问题,但我不知道如何解决它.

我键入控制台

echo "-n"
Run Code Online (Sandbox Code Playgroud)

什么都没打印出来:(

我也尝试过

echo -e "-n" 
Run Code Online (Sandbox Code Playgroud)

执行特殊字符(从序列中逃脱的特征),但没有任何事情发生

怎么打印"-n"?

Fri*_*ner 11

尝试

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

要么

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

  • 是的,`printf`比`echo`更强大,更一致. (2认同)

NPE*_*NPE 5

这是一种方式:

aix@aix:~$ echo -e '\x2dn'
-n
Run Code Online (Sandbox Code Playgroud)

它会把-\x2d.

更详细的方法是分别打印两个字符:

aix@aix:~$ echo -n -; echo n
-n
Run Code Online (Sandbox Code Playgroud)

这里,-n指示第一个echo不打印换行符; 它与-n被打印无关.:)