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

Убунту 19

В сценариях bash часто необходимо приостановить выполнение двух команд на определенный период. В этом руководстве вы познакомитесь с двумя способами достижения этой цели: с помощью команды сна и команды чтения.

Чтобы сделать паузу на определенное время между двумя командами в сценарии bash, вы можете использовать команду сна или команду чтения с тайм-аутом. Команда сна задерживает выполнение на указанное время, в то время как команда чтения ожидает ввода пользователя или тайм-аута. Оба метода просты и эффективны для введения пауз в ваш сценарий.

Понимание сценариев Bash

Сценарии Bash — мощный инструмент для автоматизации задач в Unix-подобных операционных системах. Он позволяет объединить несколько команд в один скрипт, который можно запускать как отдельную программу. Сценарии Bash пишутся на языке сценариев оболочки Bash, который поддерживает различные конструкции программирования, включая переменные, функции, циклы и условные выражения.

Способ 1: использование команды сна

Команда сна — это простой и понятный способ приостановить выполнение bash-скрипта. Он задерживает определенное время, которое может быть задано в секундах (по умолчанию), минутах, часах или днях.

Синтаксис и использование

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

спать НОМЕР[SUFFIX]

НОМЕР указывает продолжительность паузы, а необязательный СУФФИКС может быть «s» для секунд (по умолчанию), «m» для минут, «h» для часов или «d» для дней.

Например, чтобы приостановить выполнение сценария на 30 секунд между двумя командами, вы должны написать:

#!/bin/bash echo “Команда запуска 1” Sleep 30 echo “Команда запуска 2” выход

В этом сценарии echo «Запуск команды 1» и echo «Запуск команды 2» являются заполнителями для ваших реальных команд. Строка Sleep 30 заставляет скрипт приостанавливать 30 секунд между выполнением двух команд.

Способ 2: использование команды чтения

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

Синтаксис и использование

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

читать -t ТАЙМ-АУТ

Параметр TIMEOUT указывает продолжительность паузы в секундах.

Например, чтобы приостановить выполнение сценария на 30 секунд между двумя командами, вы должны написать:

#!/bin/bash echo “Команда запуска 1” read -t 30 echo “Команда запуска 2” выход

В этом сценарии echo «Запуск команды 1» и echo «Запуск команды 2» являются заполнителями для ваших реальных команд. Строка read -t 30 заставляет скрипт приостанавливать 30 секунд между выполнением двух команд. Если вы нажмете Enter до истечения времени ожидания, сценарий продолжит работу немедленно.

Заключение

Паузу на определенное время между двумя командами в сценарии bash можно выполнить с помощью команды сна или команды чтения. Оба метода просты и эффективны, и выбор между ними зависит от ваших конкретных потребностей.

Помните, что написание сценариев bash — это мощный инструмент автоматизации, и понимание того, как контролировать поток выполнения ваших сценариев, является ключевым навыком. Приятного написания сценария!

Вы можете приостановить выполнение сценария bash на определенное время, используя команду сна или команду чтения. Команда сна задерживает выполнение на указанный период времени, а команда чтения вводит тайм-аут. Оба метода эффективны для приостановки сценария.

Чтобы использовать команду сна, вы можете просто добавить сон, а затем указать желаемую продолжительность в секундах, минутах, часах или днях. Например, чтобы сделать паузу на 30 секунд, вы можете использовать параметр «sleep 30». Вы также можете указать продолжительность, добавив «s» для секунд, «m» для минут, «h» для часов или «d» для дней. Например, сон 1 м будет приостановлен на 1 минуту.

Чтобы использовать команду read для приостановки выполнения сценария bash, вы можете добавить read -t, а затем указать желаемый тайм-аут в секундах. Например, read -t 30 приостановит выполнение сценария на 30 секунд. Если вы нажмете «Ввод» до истечения времени ожидания, сценарий продолжит работу немедленно.

И команда сна, и команда чтения являются допустимыми методами приостановки выполнения сценария bash. Выбор между ними зависит от ваших конкретных потребностей. Если вам нужна пауза фиксированной продолжительности, более подходящей является команда сна. С другой стороны, если вы хотите ввести тайм-аут и предоставить возможность продолжить работу раньше, команда чтения будет лучшим выбором.

Да, вы можете использовать переменные как с командами сна, так и с командами чтения. Например, если у вас есть переменная Pause_duration, которая содержит желаемую продолжительность паузы в секундах, вы можете использовать Sleep $pause_duration или read -t $pause_duration.

Нет, команда сна не поддерживает доли секунды. Наименьшая единица времени, которую вы можете указать, — одна секунда. Если вам нужно сделать паузу на долю секунды, возможно, вам придется изучить другие альтернативы или обходные пути.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *