bash脚本的回声帮助以秒为单位(并覆盖)秒数

问题描述 投票:-1回答:1

我想在我的终端提示上放一个计数器。我以分钟为单位从命令行传递了一个值。它计算屏幕上的秒数,不带换行符,换句话说,它显示0、1、2、3等...但覆盖先前的数字。我怎样才能做到这一点?下面的脚本每秒进行换行。

#!/bin/bash
i=0
seconds=$1*60
while (( $i < $seconds ))
do
  echo $i
  sleep 1
  ((i++))
done
bash echo display
1个回答
0
投票

您可以使用*运算符调整宽度:

while (( i < seconds )); do
   printf "\r%*d" ${#seconds} $i
   sleep 1
   ((i++))
done
© www.soinside.com 2019 - 2024. All rights reserved.