LINUX.ORG.RU

Как сделать прерывание (конец, остановку) бесконечного цикла Bash linux

 ,


0

1

получился такой скрипт он выводит каждую секунду время, мне надо чтобы он через какое то время просто остановился

while true; do date=$(date +«%H:%M:%S»); echo $date sleep 1 done


Ответ на: комментарий от futurama

пытаюсь всё так и не могу… просто мне нужно чтоб скрипт что-то вывод 1 или несколько секунд, я использую sleep 1, то есть каждую секунду. Затем мне надо завершить этот процесс, но до это я не знаю свой PID

jophop
() автор топика
Ответ на: комментарий от beastie

я уже не знаю, помогите если знаете, в какую строчку и что именно мне дописать, чтоб сработало, я просто не понимаю, команда слип работает замечательно, а как остановить?? аааа паника, линукс доведёт

jophop
() автор топика
Ответ на: комментарий от jophop

Просто оперируйте для удобства числовым представлением времени a.k.a. «Unix Time Stamp» - seconds since the Epoch (which is Midnight on January 1, 1970)

set timelimit=120
date_start_uts=$(date +%s)
let "date_finish_uts=$date_start_uts+$timelimit"
echo $date_start_uts $date_finish_uts

А дальше уже любой цикл с проверками.

NDfan
()