回声中的-n的“非人”解释(shell)

时间:2019-05-14 05:05:51

标签: bash shell

因此,我阅读了man echo信息。它说的是n选项。

-n    Do not print the trailing newline character.

我无法理解到底是什么意思。

所以,如果我尝试一下,这就是我得到的

~ echo -n "12"
12%

我传入参数后得到%

没有n,stdout将没有%

~ echo "12"
12

任何人都可以给出实际例子,或更简单的解释。

1 个答案:

答案 0 :(得分:3)

echo命令的标准调用将打印出传递给echo的参数,后跟换行符。

使用echo标志调用-n只会打印出参数,没有换行符。

因为您在外壳程序中使用%作为提示符,调用echo -n "12"会打印出12,紧随其后的是提示符,表明外壳程序已准备好接受新输入。

在没有-n的情况下看起来像这样:

% echo "12"
12
%

使用-n

% echo -n "12"
12%