Како да се користи Линуксот "спиење" команда да паузира А BASH сценарио

Овој водич покажува како да ја користите командата за спиење на Линукс за да паузирате баш скрипта.

Самостојно, командата за спиење е сосема бескорисна, освен ако не сакате да го заклучите вашиот терминален прозорец, но како дел од сценариото може да се користи на многу различни начини, вклучително и како фактор за пауза пред да се повтори командата.

На пример, замислете дека сте имале скрипта која обработувала датотеки копирани од друг сервер. Скриптата не треба да го започне процесот на копирање се додека сите датотеки не завршат со преземање.

Процесот на преземање се изведува со сосема посебна скрипта.

Скриптата за копирање на датотеките може да содржи и јамка за да провери дали сите датотеки се симнати (т.е. знае дека треба да има 50 датотеки и кога се пронајдени 50 датотеки, процесот на копирање е стартуван).

Нема смисла сценариото постојано тестирање, како што зафаќа процесорско време. Наместо тоа, можете да одберете да проверите дали има доволно копирани фајлови и ако нема пауза неколку минути, а потоа пробајте повторно. Командата за спиење е совршена во овие околности.

Како да ја користите командата за спиење

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

спие 5s

Горенаведената команда ќе ја направи вашата терминална пауза 5 секунди пред да ве врати во командната линија.

Командата за спиење бара клучен збор за спиење, проследен со бројот што сакате да го прекинете, а потоа и мерната единица.

Можете да го одредите одложувањето во секунди, минути, часови или денови.

Кога станува збор за денови на чекање за нешто да се случи, можеби вреди да се размислува да користиш работа со cron за да го стартуваш сценариото во редовни интервали, наспроти тоа што има скрипта која работи во позадина деновиве.

Бројот за командата за спиење не мора да биде цел број.

Можете исто така да користите броеви со подвижна запирка.

На пример, совршено е во ред да ја користите следната синтакса:

спиење 3,5с

Користете пример за командата за спиење

Следниве скрипта покажува како да ја користите командата за спиење за да направите тајмер за одбројување на терминал:

#! / bin / баш

x = 10

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

направи

спиење 1s

јасно

ехо "$ х секунди додека не се исклучи"

x = $ (($ x - 1))

направено

Скриптата ја поставува променливата x до 10. While циклусот ќе продолжи да се повторува, додека вредноста на x е поголема од нула.

Командата за спиење го паузира скрипта за 1 секунда секој пат околу јамката.

Остатокот од сценариото го брише секој екран на екранот, ја прикажува пораката "x seconds until blast off" (т.е. 10), а потоа го одзема 1 од вредноста на x.

Без команда за спиење, скриптата ќе зумира и пораките ќе бидат прикажани премногу брзо.

Командата за спиење има само неколку прекинувачи.

Прекинувачот --help ја покажува датотеката за помош за командата за спиење. Можете да го постигнете истото со користење на човековата команда како што следува:

човек спие

Командата --version ја покажува верзијата на командата за спиење која е инсталирана на вашиот систем.

Информациите вратени од --version прекинувачот се како што следува: