Как приостановить сценарий Bash с помощью команды сна в Linux
Фатмавати Ахмад Дзэнури / Shutterstock.com
Команда сна заставляет ваш компьютер с Linux ничего не делать. Возможно, это нелогично, но период бездействия иногда как раз то, что нужно. В этой статье показано, как эффективно использовать эту команду оболочки Bash.
Использование sleep
легко. В командной строке введите sleep
, пробел, число и нажмите Enter.
sleep
Курсор исчезнет на пять секунд, а затем вернется. Что случилось? Использование sleep
в командной строке указывает Bash приостановить обработку на указанное вами время. В нашем примере это было пять секунд.
Мы можем передать длительности в d, h, m,
в днях, часах и минутах, а также в секундах. Для этого добавьте суффикс s
или s
с продолжительностью. Чтобы приостановить сон на один день, четыре часа, семь минут и пять секунд, используйте следующую команду:
sleep
sleep
суффикс (для секунд) не является обязательным. Без суффикса m
будет рассматривать любую продолжительность как секунды. Предположим, вы хотите иметь sleep
пауза на пять минут двадцать секунд. Один из правильных форматов этой команды:
sleep
Реклама Если вы забыли указать sleep
суффикс продолжительности минут, вы укажете sleep
сделать паузу на пять секунд, а затем снова на двадцать секунд. Итак sleep
приостановится на 25 секунд.
Многие команды требуют, чтобы вы указали параметры в определенном порядке, но sleep
очень снисходителен. Вы можете предоставить их в любом порядке и sleep
будет иметь смысл из них. Вы также можете указать число с плавающей запятой в качестве параметра. Например, 0,5h - допустимый способ указать, что вы хотите sleep
сделать паузу на полчаса.
Все следующие (все более эксцентричные) команды говорят sleep
сделать паузу на 10 секунд.
curl
jq
check_book.sh
curl
Использование сна для паузы перед командой
jq
Команда может использоваться для паузы перед выполнением команды. Эта команда приостанавливается на 15 секунд, а затем подает звуковой сигнал.
apt-get
Использование сна для паузы между двумя командами
Вы можете использовать books.txt
чтобы сделать паузу между двумя командами. Эта команда выведет список файлов в вашем каталоге Documents, сделает паузу на пять секунд, а затем изменит текущий рабочий каталог на ваш домашний каталог:
check_book.sh
Использование сна для приостановки выполнения скрипта
Вы можете использовать books.txt
в сценариях оболочки, чтобы приостановить выполнение сценария на определенное время. Обычно это делается для того, чтобы дать некоторому процессу достаточно времени для завершения, прежде чем скрипт продолжит свою обработку. Вы также можете использовать его для ограничения скорости запросов, которые сценарий делает к другому ресурсу.
Чтобы продемонстрировать именно это, вот сценарий, который обращается к веб-службе Google с помощью sleep
. Когда вы запрашиваете веб-службу с ISBN номер книги, он отвечает дампом данных JSON об этой книге. Мы можем проанализировать эти данные, передав их через check_book.sh
утилита для получения названия книги. Чтобы сценарий не нагружал веб-службу, он спит в течение одной секунды между веб-запросами.
Создайте файл, содержащий следующий текст, и сохраните его как sleep
.
curl
Введите следующую команду, чтобы установить разрешения на выполнение и сделать скрипт исполняемым.
jq
Сценарий требует
sleep 5и
sleep 1d 4h 7m 5sкоммунальные услуги. Используйте
sleep 5m 20для установки этих пакетов в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте вместо этого инструмент управления пакетами вашего дистрибутива Linux.
sleep 10
sleep 5 5s
Создайте текстовый файл, содержащий следующие числа, и сохраните его как
Sleep 1 1 1s 1 1 1s 1 2.
sleep 0.16667m
Запустите
sleep 15 && echo -en ' 07'скрипт и передайте
ls -R ~/Documents && sleep 5 && cd ~файл в качестве параметра.
#!/bin/bash for book in `cat ` do echo $book':' curl -s https://www.googleapis.com/books/v1/volumes?q=isbn:$book | jq '.items | .[] | .volumeInfo.title' echo '' sleep 1 done echo 'All done.'
Реклама
Запросы к веб-службе Google отправляются с интервалом в одну секунду. Название книги будет появляться вскоре после запроса каждого номера ISBN.
Это все, что нужно для
chmod +x check_book.sh. Внутреннее устройство
sudo apt-get install curlскрипт выходят за рамки данной статьи. Сценарий был выбран исключительно для иллюстрации правильного использования
sudo apt-get install jqкоманда. Если вы хотите узнать больше о двух основных компонентах сценария, обратитесь к
9781565921276 9781874416685 9781565921672 9780521431088 9781491941591страница проекта и
./check_book.sh books.txtон-лайн руководство .
СВЯЗАННЫЙ: Лучшие ноутбуки с Linux для разработчиков и энтузиастов
ПРОЧИТАЙТЕ СЛЕДУЮЩИЙ- & rsaquo; Как найти упакованный Spotify 2021
- & rsaquo; Функции и формулы в Microsoft Excel: в чем разница?
- & rsaquo; Киберпонедельник 2021: лучшие предложения Apple
- & rsaquo; Киберпонедельник 2021: лучшие технические предложения
- & rsaquo; 5 сайтов, которые должен добавить в закладки каждый пользователь Linux
- & rsaquo; Папке на компьютере 40 лет: как звезда Xerox создала рабочий стол
Дэйв Маккей впервые использовал компьютеры, когда в моде была перфолента, и с тех пор он занимается программированием. Проработав более 30 лет в ИТ-индустрии, он теперь работает журналистом в области информационных технологий. За свою карьеру он работал программистом-фрилансером, менеджером международной группы разработчиков программного обеспечения, менеджером проекта ИТ-услуг, а в последнее время - специалистом по защите данных. Его статьи были опубликованы на сайтах howtogeek.com, cloudsavvyit.com, itenterpriser.com и opensource.com. Дэйв - евангелист Linux и сторонник открытого исходного кода.
Прочитать полную биографию