如何在 bash 脚本中与进度在同一行中打印

Pra*_*was 4 bash

我想按以下方式打印文本

Waiting for completion.
Waiting for completion..
Waiting for completion...
Run Code Online (Sandbox Code Playgroud)

[注:不超过三个点]

上面应该在同一行并且在一个循环中。

当循环条件为假时,我也想在同一行中得到以下内容:

Waiting for completion... [OK]
Run Code Online (Sandbox Code Playgroud)

我如何在 bash 脚本中实现这一目标?

Ser*_*rdo 5

您应该使用回车符。在 echo 中搜索有关 \r 的信息。

例如,也许你想要这样的东西:

#!/bin/bash

while [ 3 -gt 2 ];
do
    echo -n -e 'Esperando.\r'
    sleep 1
    echo -n -e 'Esperando..\r'
    sleep 1
    echo -n -e 'Esperando...\r'
    sleep 1
    echo -n -e '             \r'
done
Run Code Online (Sandbox Code Playgroud)

你需要睡觉,因为如果你不睡觉,你将无法看到变化的点。