Това ръководство показва как да използвате командата за сън в Linux, за да поставите баш скрипт на пауза.
Самата команда за сън е напълно безполезна, освен ако не искате да заключвате терминалния си прозорец, но като част от скрипт, може да се използва по много различни начини, включително като фактор за пауза, преди да опитате повторно командата.
Например, представете си, че имате скрипт, който обработва файлове, копирани от друг сървър. Скриптът не трябва да започва процеса на копиране, докато всички файлове не приключат с изтеглянето. Процесът на изтегляне се извършва от напълно отделен скрипт.
Скриптът за копиране на файловете може да съдържа цикъл, за да провери дали всички файлове са изтеглени (т.е. знае, че трябва да има 50 файла и когато са намерени 50 файла, процесът на копиране се стартира).
Няма смисъл от непрекъснато тестване на скрипта, тъй като отнема времето на процесора. Вместо това може да изберете да проверите дали има достатъчно копирани файлове и ако не са налице, поставете пауза за няколко минути и опитайте отново. Командата за сън е добра при тези обстоятелства.
Как да използвате командата за сън
За да използвате командата за сън Linux, въведете следното в прозореца на терминала:
спя 5s
Горната команда ще накара терминала да спре за 5 секунди, преди да ви върне на командния ред.
Командата за сън изисква ключовата дума "sleep", последвана от номера, който искате да поставите на пауза, и след това мерна единица.
Можете да зададете закъснението в секунди, минути, часове или дни.
- s - секунди
- m - минути
- ч - часове
- d - дни
Що се отнася до чакащите дни, за да се случи нещо, може би си заслужава да се обмисли използването на cron задачата за изпълнение на сценария на редовни интервали, за разлика от това, че скриптът работи на заден план в продължение на дни.
Номерът на командата за сън не трябва да е цяло число. Можете да използвате номера с плаваща запетая.
Например, добре е да използвате следния синтаксис:
Пример Използвайте за командата за сън
Следният скрипт показва как да използвате командата за сън, за да направите часовник за броене на терминал:
#! / Хамбар / Башх = 10докато $ x -gt 0правяспя 1sясноecho "$ x секунди, докато се взривят"x = $ (($ x - 1))Свършен Сценарият задава променливата x до 10. The while loop ще продължи да се повтаря, докато стойността на x е по-голяма от нула. Командата за сън спира скрипта за 1 секунда всеки път около цикъла. Останалата част от скрипта изчиства екрана всяка итерация, показва съобщението "x секунди до излитане" (т.е. 10) и след това изважда 1 от стойността на x. Без командата за съня скриптът ще се приближи и съобщенията ще се покажат твърде бързо. Командата за сън има само няколко превключвателя. Превключвателят --help показва файла с помощ за командата за сън. Можете да постигнете едно и също нещо, като използвате командата човек, както следва: мъжът спи Командата --version показва версията на командата за сън, която е инсталирана на вашата система. Информацията, върната от превключвателя "Версия", е както следва: Ключове