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

How to Use the Linux Sleep Command to Pause a Bash Script

14 Мая 2020 | Терминал

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

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

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

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


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

Синтаксис 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 команда.

#!/bin/bash

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

# sleep for 5 seconds
sleep 5

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

Когда вы запустите скрипт, он напечатает текущее время в HH:MM:SS формате. Затем sleep команда приостанавливает выполнение сценария на 5 секунд. По истечении указанного периода времени последняя строка скрипта печатает текущее время.

Вывод будет выглядеть примерно так:

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_address доступен ли хост с IP-адресом или нет.
  • Если хост доступен, сценарий отобразит «Хост подключен» и завершит цикл.
  • Если хост недоступен, sleep команда приостанавливает выполнение сценария на 5 секунд, а затем цикл начинается с начала.

Вывод 

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...