В bash вы можете написать:
PS3="Continue? "
while true; do
read -p "Enter a number: " n
((0 <= n && n <= 50)) && echo "cube = $((n * n * n))"
select ans in yes no; do
case $ans in
yes) break ;;
no) break 2 ;;
esac
done
done
Похоже, вам нужно использовать фиксированные часы. Надеемся, что код, который вы используете, работает с монотонными часами, которые могут получать свое значение от ЦП, а не от системных часов (стены -времени ).
Достаточно простой способ проверить это — написать bash-скрипт, который выполняет следующие шаги:
Попробуйте сделать это несколько раз и посмотрите, каковы результаты. Если вы можете сопоставлять результаты между каждым запуском скрипта, то у вас может быть работающее и довольно простое решение. Если по какой-либо причине разработчик решил использовать что-то вроде значения миллисекунды, вам может не повезти.
Этот скрипт может выглядеть так:
#! /bin/bash
date --set="8 FEB 2021 10:00:00"
./your-program-here