Как использовать команду Sleep для приостановки сценария в Linux

12 set 2022 2 min di lettura
Как использовать команду Sleep для приостановки сценария в Linux
Indice dei contenuti

Введение

Sleep — это утилита командной строки, которая позволяет приостановить вызывающий процесс на указанный период времени. Другими словами, команда sleep приостанавливает выполнение следующей команды на указанное количество секунд.

Команда sleep особенно полезна при использовании в сценарии оболочки bash, например, при попытке повторить неудачную операцию или в цикле.

В этом уроке мы покажем вам, как использовать команду сна в Linux.

Как использовать команду сна

Синтаксис команды sleep следующий:

sleep NUMBER [SUFFIX]...

NUMBER может быть целым положительным числом или числом с плавающей запятой.

SUFFIX может быть одним из следующих:

  • s - секунды (по умолчанию)
  • m - минуты
  • h - часы
  • d - дни

Когда суффикс не используется, по умолчанию используются секунды.

Когда указаны два или более аргумента, общее количество времени эквивалентно сумме их значений.

Вот несколько простых примеров, демонстрирующих использование команды sleep:

Пауза на 5 секунд:

sleep 5

Пауза на 0,5 секунды:

sleep 0.5

Приостановить на 2 минуты 30 секунд:

sleep 2m 30s

Примеры Bash-скриптов

Ниже приведен самый простой пример использования команды sleep в сценариях Bash. При запуске скрипта текущее время будет напечатано в формате HH:MM:SS. Затем команда sleep приостановит работу скрипта на 5 секунд. По истечении указанного времени последняя строка скрипта снова печатает текущее время.

#!/bin/bash

 # start time
 date +"%H:%M:%S"

 # sleep for 5 seconds
 sleep 5

 # end time
 date +"%H:%M:%S"

Вывод будет выглядеть следующим образом:

13:34:40
 13:34:45

Давайте рассмотрим более продвинутый пример.

#!/bin/bash

 while:
 do
 if ping -c 1 ip_address &> /dev/null
 then
 echo "Host is online"
 break
 fi
 sleep 5
 done

Приведенный выше скрипт будет проверять, находится ли хост в сети или нет, каждые 5 секунд, и когда хост находится в сети, скрипт предупредит вас и остановится.

Как работает скрипт:

  • В первой строке мы создаем бесконечный цикл while.
  • Таким образом, мы используем команду ping, чтобы определить, доступен ли хост с IP-адресом ip_address или нет.
  • Если хост доступен, сценарий выдаст сообщение «Хост онлайн» и завершит цикл.
  • Если хост недоступен, команда sleep приостанавливает выполнение скрипта на 5 секунд, после чего цикл начинается сначала.

Вывод

К настоящему времени вы должны хорошо понимать, как использовать команду сна в Linux.

Команда sleep — одна из самых простых команд оболочки, принимающая только один аргумент, который используется для указания интервала ожидания.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.