TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #233 9.87K
Ладно, хорош про винду, ловите еще чтива. Выше в посте когда ставил docker, вылез алерт «WSL DETECTED: We recommend using Docker Desktop for Windows.»

Меня заинтересовал таймер обратного отсчета, который выводился на экране, мол через 20 секунд всё будет ок. Цифры менялись затирая предыдущие, но с нюансом, оставался ведущий ноль.

Ну и чот захотелось на Bash’е такое запилить, ну и запилил:

#!/bin/bash

msg="deadline in: "
row=2
col=2

clear
tput cup $row $col
echo -n "$msg"
tput civis

l=${#msg}
l=$(( l + col ))

for i in {10..01}
do
tput cup $row $l
echo -n "$i"
sleep 1
done

tput cnorm


Запускаем, еее! Пошел отсчет от 10 до 01 с ведущим нулем. Прекрасно!

Из непонятного, рассказываю:

1. tput cup $row $col = ставим курсор в нужную позицию
2. tput civis - скрываем курсор
3. l=${#msg} - вычисляем длину сроки msg
4. l=$(( l + col )) - позиция вывода таймера
5. tput cup $row $l - кидаем курсор в позицию таймера
6. tput cnorm - включаем курсор обратно

Вариант без ведущего нуля:

#!/bin/bash

seconds=10

for ((i=seconds; i>=1; i--))
do
echo -ne "deadline in: $i \033[0K\r"
sleep 1
done

echo -e "\nFuck up!"


Но этот вариант мне не нравится, нет в нем искры, если жать Enter, то таймер перескакивает на новую строку, ну и ведущего нуля нет, фу.

Вот такая игрушка у меня получилась. Возможно где-нибудь и воткну потом эту поделку, попугать коллег на продакшене. Пусть не расслабляются, запуская бездумно Bash скрипты. Надо еще клавиатуру блокировать. Чем бы дитя не тешилось.

Ладно, кидай в комментарии свои варианты, заценим!

tags: #bash
—
💩 @bashdays
More from @bashdays
  1. Sep 30, 2026↗️ Для всех, кто строит 15 октября Cloud․ru соберет инженеров, которые строят и эксплуатир…
  2. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  3. Sep 24, 2026Post #1565
  4. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  5. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →