echo help для скрипта bash для подсчета секунд (и перезаписи) - PullRequest
0 голосов
/ 21 марта 2020

Я хотел бы иметь счетчик в моей подсказке терминала. Я передаю это значение из командной строки в минутах. Он подсчитывает секунды на экране без перевода строки, другими словами, он показывает 0, 1, 2, 3 и т. Д. c ... но перезаписывает предыдущее число. Как я могу это сделать? Сценарий ниже делает новую строку для каждой секунды.

#!/bin/bash
i=0
seconds=$1*60
while (( $i < $seconds ))
do
  echo $i
  sleep 1
  ((i++))
done

1 Ответ

1 голос
/ 22 марта 2020

Вы можете настроить ширину с помощью оператора *:

while (( i < seconds )); do
   printf "\r%*d" ${#seconds} $i
   sleep 1
   ((i++))
done
...