Android

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

How to learn to use the Linux command line for advanced commands - Part 7 gedit, nano, vim

How to learn to use the Linux command line for advanced commands - Part 7 gedit, nano, vim

Оглавление:

Anonim

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

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

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

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

Синтаксис команды sleep выглядит следующим образом:

sleep NUMBER…

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 или нет. Если хост доступен, скрипт выдаст «Host is online» и завершить цикл. Если хост недоступен, команда sleep приостанавливает выполнение сценария на 5 секунд, а затем цикл начинается с начала.

Вывод

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

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

терминал сна