如何将命令输出转换为实时状态更新?

How to turn command output to a live status update?

我很好奇是否有一种工具或一种简单的方法可以在给定的时间间隔内连续执行某个命令,并将其输出重新打印到屏幕上的同一位置。

促使我思考的例子是'dropbox-cli status'。手动执行:

$> dropbox-cli status
Syncing (6,762 files remaining)
Indexing 3,481 files...
$> dropbox-cli status
Syncing (5,162 files remaining)
Indexing 2,681 files...

我正在寻找:

$> tracker --interval=1s "dropbox-cli status"
Syncing (6,743 files remaining)
Indexing 3,483 files

假想的命令 'tracker' 会阻塞并且两行输出会每秒不断重印,而不是创建附加日志输出。

您可以使用watch

watch -n1 dropbox-cli status

使用参数 -n 以秒为单位指定时间。