bash:多个echo命令的结果,在一行上有延迟?

时间:2014-12-13 23:02:55

标签: bash scripting

我正在学习关于bash脚本的基础知识,基本上我要做的是输出“...”并在每个句点之间暂停。

我尝试了echo . ; sleep 1 ;echo . ; sleep 1 ; echo . ; sleep 1和其他方式,但输出始终是垂直的,逐行的。我知道什么是“;”和“&&”但是我只是在学习,而且看起来很接近的唯一方法是“回声。”睡眠1命令...... 回声或睡眠甚至是正确的命令吗?

很抱歉这样笨拙,但我无法理解这一点!

2 个答案:

答案 0 :(得分:2)

如果您希望回复...

echo "..." ; sleep 1 ;echo "..." ; sleep 1 ; echo "..." ; sleep 1

回声,顾名思义就是“输出”,是的,“睡眠”绝对是暂停所需的命令。

如果你想在同一行使用echo并输出...三次。你可以用

 echo -n "..." ; sleep 1 ;echo -n "..." ; sleep 1 ; echo -n "..." ; sleep 1

答案 1 :(得分:1)

echo在其参数后自动打印换行符。要取消它,您可以使用-n选项,但这并不是普遍支持的。相反,请使用printf

printf '.'; sleep 1; printf '.'; sleep 1; printf '.'; sleep 1