Как да използвате Linux "сън" команда за пауза на BASH скрипт

Това ръководство показва как да използвате командата за сън в Linux, за да поставите баш скрипт на пауза.

Сам по себе си, командата за сън е напълно безполезна, освен ако не искате да заключите своя терминален прозорец, но като част от скрипта той може да се използва по много различни начини, включително като фактор за пауза, преди да опитате повторно команда.

Например, представете си, че имате скрипт, който обработва файлове, копирани от друг сървър. Скриптът не трябва да започва процеса на копиране, докато всички файлове не приключат с изтеглянето.

Процесът на изтегляне се извършва от напълно отделен скрипт.

Скриптът за копиране на файловете може да съдържа цикъл, за да провери дали всички файлове са били изтеглени (т.е. знае, че трябва да има 50 файла и когато са намерени 50 файла).

Няма смисъл непрекъснато да тества скрипта, тъй като отнема времето на процесора. Вместо това можете да изберете да проверите дали има достатъчно копирани файлове и дали няма пауза за няколко минути и опитайте отново. Командата за сън е добра при тези обстоятелства.

Как да използвате командата за сън

За да използвате командата за спиране на Linux, въведете следното в прозореца на терминала:

спя 5s

Горната команда ще накара терминала да спре за 5 секунди, преди да ви върне на командния ред.

Командата за сън изисква ключовата дума "сън", последвана от номера, който искате да поставите на пауза, и след това мерна единица.

Можете да посочите закъснението в секунди, минути, часове или дни.

Що се отнася до чакащите дни, за да се случи нещо, може би си заслужава да се обмисли използването на cron задача за изпълнение на сценария на редовни интервали, за разлика от това, че скриптът работи във фонов режим в продължение на дни.

Номерът на командата за сън не трябва да е цяло число.

Можете да използвате номера с плаваща запетая.

Например, добре е да използвате следния синтаксис:

сън 3.5 секунди

Пример за използване на командата за сън

Следният скрипт показва как да използвате командата за сън, за да направите часовник за броене на терминал:

#! / Хамбар / Баш

х = 10

докато [$ x -gt 0]

правя

спя 1s

ясно

echo "$ x секунди, докато се взривят"

x = $ (($ x - 1))

Свършен

Сценарият задава променливата x до 10. The while loop ще продължи да се повтаря, докато стойността на x е по-голяма от нула.

Командата за сън спира скрипта за 1 секунда всеки път около цикъла.

Останалата част от скрипта изчиства екрана на всяка итерация, показва съобщението "x секунди до разрязване" (т.е. 10) и след това изважда 1 от стойността на x.

Без командата за съня скриптът ще се приближи и съобщенията ще се покажат твърде бързо.

Командата за сън има само няколко превключвателя.

Превключвателят --help показва файла с помощ за командата за сън. Можете да постигнете едно и също нещо, като използвате командата човек, както следва:

мъжът спи

Командата --version показва версията на командата за сън, която е инсталирана на вашата система.

Информацията, върната от превключвателя "Версия", е както следва: