В качестве альтернативы, если вы хотите, чтобы каждая итерация занимала в общей сложности 60 секунд, этот скрипт Bash будет синхронизировать ваш код и будет спать только в течение всего времени, оставшегося в 60 секундах (, если ваш код занял больше 60 секунд, он не засыпает. все )...
sleep_time=60
while true; do
start_secs=$(date +'%s')
everything_in_the_original_script
end_secs=$(date +'%s')
elapsed=$((end_secs - start_secs))
[[ $elapsed -le $sleep_time ]] || elapsed=$sleep_time
sleep $((sleep_time - elapsed))
done
Если вы хотите выполнить свой скрипт в текущем каталоге. Добавьте в свой скрипт это:
export PATH="$PATH:./"
Или используйте абсолютный путь:
source ${PROJDIR}/newscript
or
. ${PROJDIR}/newscript