ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Использование команды Sleep в скриптах Bash в Linux

Использование команды Sleep в скриптах Bash в Linux

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

Команда sleep в Linux — одна из самых простых команд. Как видно из названия, его единственная функция — спать. Другими словами, он вводит задержку на указанное время.

Таким образом, если вы используете команду sleep с x, то следующая команда может быть запущена только через x секунд.

Команда Sleep имеет простой синтаксис:

sleep Number[Suffix]

 

Здесь суффикс может быть:

Давайте посмотрим несколько примеров команды sleep.

 

Примеры команды Sleep в Bash

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

 

Команда sleep без суффикса считается в секундах

Предположим, вы хотите приостановить ваш bash-скрипт на 5 секунд, вы можете использовать режим sleep следующим образом:

sleep 5

 

В примере скрипта bash это может выглядеть так:

!/bin/bash
echo "Sleeping for 5 seconds…"
sleep 5
echo "Completed"

 

Если вы запустите его с помощью команды time, вы увидите, что скрипт bash на самом деле работал (немного) более 5 секунд.

time ./sleep.sh 
Sleeping for 5 seconds…
Completed

real    0m5.008s
user    0m0.000s
sys    0m0.007s

 

Команда Sleep с суффиксом m, h или d

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

sleep 1m

 

Это приостановит скрипт/оболочку на одну минуту. Если вы хотите отложить сценарий на несколько часов, вы можете сделать это с помощью опции h:

sleep 2h

 

Даже если вы хотите приостановить скрипт на несколько дней, вы можете сделать это с помощью суффикса d:

sleep 5d

 

Это может помочь, если вы хотите работать в разные дни или дни недели.

Команда sleep с комбинацией секунд, минут, часов и дня

Вы не обязаны использовать только один суффикс за раз. Вы можете использовать более одного суффикса, и продолжительность sleep является суммой всех суффиксов.

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

sleep 1h 10m 5s

 

Это заставит скрипт ждать 1 час 10 минут и 5 секунд. Обратите внимание, что суффикс s здесь по-прежнему необязателен.

 

Бонусный совет: спать меньше секунды

Вы могли заметить, что наименьшая единица времени в команде sleep — секунда. Но что если ваш bash-скрипт будет спать в течение миллисекунд?

Хорошо, что вы можете использовать с плавающей точкой (десятичные точки) с командой sleep.

Поэтому, если вы хотите ввести паузу в 5 миллисекунд, используйте ее следующим образом:

sleep 0.005

 

Вы также можете использовать десятичные точки с другими суффиксами.

sleep 1.5h 7.5m

 

Будет введена задержка в 1 час 37 минут и 30 секунд.

Мы надеемся, что вы не спали, читая эти примеры команды sleep -).

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

Exit mobile version