Переменная времени сна из файла?

Я желаю знать, что действительно ли возможно иметь сон в сценарии удара, имеют переменное время, которое читается из файла? Я желаю выполнить операции в сценарии, которые варьируются по длине, которой установит синхронизации другой сценарий.

1
задан 18 February 2015 в 03:10

2 ответа

Спать число секунд, определенных в timeout.txt файл:

#!/bin/sh
read timeout <timeout.txt
date
sleep $timeout
date

Или использование bash - определенный синтаксис:

#!/bin/bash
date
sleep $(<timeout.txt)
date
2
ответ дан 10 November 2019 в 09:19

Обычно это - просто вопрос получения информации в Ваш сценарий, не так о команде сна.

Позволяет, делают простой сценарий 'sleepytime' для получения информации из файла (я предполагаю, что существует всего одно целочисленное значение в том файле):

#!/bin/bash

sleep_time_X=$(cat "X.sleepytime")
sleep_time_Y=$(cat "Y.sleepytime")

echo "Going to sleep $sleep_time_X second(s)"
sleep $sleep_time_X
echo "Going to sleep $sleep_time_Y second(s)"
sleep $sleep_time_Y

тогда на командной строке:

$ touch Y.sleepytime
$ touch X.sleepytime
$ echo "1" > X.sleepytime 
$ echo "2" > Y.sleepytime
$ ./sleepytime
Going to sleep 1 second(s)
Going to sleep 2 second(s)

, Но кажется, что это не вообще применимый подход. Время сна могло бы зависеть от факторов за пределами нашего управления (например, сетевые запросы, загрузки и т.д.). Тогда было бы предпочтительно ожидать, пока задание не сделано. Это может быть выполнено с эти wait команда. Давайте сделаем дополнительный сценарий, который называет наш сценарий сна сверху:

#!/bin/bash

# Call the sleep script and send it to background (with '&')
./sleepytime &

echo "Waiting for sleepyhead"
wait

вывод:

Waiting for sleepyhead
Going to sleep 1 second(s)
Going to sleep 2 second(s)

Примечание, которого вывод первого сценария прибывает после "Ожидания...". Возможно, это - опция для Вас...

1
ответ дан 10 November 2019 в 09:19

Другие вопросы по тегам:

Похожие вопросы: