Како користити Линук "спавање" команду за паузирање БАСХ скрипте

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

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

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

Процес преноса врши се потпуно одвојеном скриптом.

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

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

Како користити команду спавања

Да бисте користили команду Линук слееп, у прозор терминала унесите следеће:

спава 5с

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

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

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

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

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

Такође можете користити бројеве са плутајућим тачкама.

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

спавање 3.5с

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

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

#! / бин / басх

к = 10

док [$ к -гт 0]

урадите

спавај 1с

јасно

ецхо "$ к секунди док не експлодира"

к = $ (($ к - 1))

Готово

Скрипта поставља променљиву к на 10. Ток петље ће наставити да се понавља док је вредност к већа од нуле.

Команда спавања паузира сценариј за 1 секунду сваки пут око петље.

Остатак сценарија обрише екран сваке итерације, приказује поруку "к секунди до експлозије" (тј. 10), а затим одузима 1 од вредности к.

Без команде спавања, скрипта би зумирала и поруке ће се пренијети пребрзо.

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

--хелп прекидач показује датотеку помоћи за команду спавања. Исту ствар можете постићи употребом наредбе човека на следећи начин:

Човек спава

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

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