在终端上,键入echo -n
根本不会输出任何内容,如果 echo 没有参数,那么为什么使用参数 -n 在 echo 中根本没有任何作用?注意:做类似的事情echo nil -n nil
会工作并输出nil -n nil
,所以如果 echo 输出所有内容,那么它为什么不输出-n
,它应该输出-n
not doing nothing。
在终端上,键入echo -n
根本不会输出任何内容,如果 echo 没有参数,那么为什么使用参数 -n 在 echo 中根本没有任何作用?注意:做类似的事情echo nil -n nil
会工作并输出nil -n nil
,所以如果 echo 输出所有内容,那么它为什么不输出-n
,它应该输出-n
not doing nothing。
默认情况下
echo
,它的输出附加一个换行符,所以如果你不带任何参数发出 echo,输出什么也没有,后面跟着一个换行符。该
-n
选项表示“不输出尾随换行符”。因此,当您发出echo -n
它时,它使用-n
as 选项,并且没有换行符就什么也不输出。这将不会在显示屏上留下任何输出证据。如果你使用一个不是有效选项的字母,
echo
例如'-x',它将被打印到屏幕上,并像往常一样换行。如果您在其他输入中使用 -n,它不会作为选项读取,因此会正常打印。添加到Arronical的答案中,
echo
不支持--
,这是声明“这是选项/标志的结尾,将后面的所有内容视为参数”的标准约定。echo
可以-n
使用GNU输出在
zsh
中,echo
是一个内置的 shell,echo - -n
可以完成这项工作。