Як выкарыстоўваць Linux "сну" для прыпынення каманды Баш скрыпт

У дадзеным кіраўніцтве паказана , як выкарыстоўваць Linux каманду сну , каб прыпыніць Баш скрыпт.

Сам па сабе, камандзе сну цалкам бескарысна, калі вы не любіце замкнуць акно тэрмінала, а як частка сцэнара можа выкарыстоўвацца многімі рознымі спосабамі, уключаючы як фактар ​​паўзы перад паўторнай камандай.

Напрыклад, уявіце, што вы мелі сцэнар, які апрацоўваецца файлы, скапіяваныя з іншага сервера. Сцэнар не павінен запусціць працэс капіявання, пакуль усе файлы не скончылі загрузку.

Загрузкі працэс ажыццяўляецца цалкам асобны сцэнар.

Скрыпт для капіявання файлаў таксама можа ўтрымліваць цыкл, каб праверыць, ці ўсё файлы былі загружаныя (гэта значыць, ён ведае, што павінна быць 50 файлаў, і калі 50 файлаў былі знойдзеныя працэс капіявання запускаецца).

Там няма сэнсу сцэнара пастаянна тэставання, паколькі гэта займае працэсарны час. Замест гэтага, вы можаце выбраць, каб праверыць, ці дастаткова скапіраваныя файлы, і калі не зрабіць паўзу на працягу некалькіх хвілін, а затым паўтарыце спробу. Каманда сну з'яўляецца дасканалай у гэтых умовах.

Як выкарыстоўваць каманду сну

Каб выкарыстоўваць каманду сну Linux увядзіце наступную каманду ў акне тэрмінала:

5s сну

Прыведзеная вышэй каманда зробіць вашу тэрмінальную паўзу на працягу 5 секунд, перш чым вярнуцца ў камандным радок.

Каманда сну патрабуе сну ключавога слова, а затым нумар, які вы хочаце зрабіць паўзу, а затым была адзінкі вымярэння.

Вы можаце задаць затрымку ў секундах, хвілінах, гадзінах або днях.

Калі справа даходзіць да чакання дзён нешта здарыцца гэта можа быць варта разгледзець, выкарыстоўваючы хрон для запуску сцэнара праз рэгулярныя прамежкі часу ў адрозненне ад таго сцэнара працуе ў фонавым рэжыме на працягу некалькіх дзён запар.

Нумар для каманды сну не павінен быць цэлым лікам.

Вы таксама можаце выкарыстоўваць лік з якая плавае кропкай.

Напрыклад, гэта цалкам нармальна выкарыстоўваць наступны сінтаксіс:

спаць 3.5с

Прыклад выкарыстання Для сну Command

Наступны сцэнар паказвае, як выкарыстоўваць каманду сну, каб зрабіць зваротны адлік часу тэрмінала на аснове:

#! / Bin / Баш

х = 10

у той час як [$ х -gt 0]

рабіць

1s сну

ясна

рэха «$ х секунд да ўзлятаць»

х = $ (($ х - 1))

зроблена

Скрыпт ўсталёўвае зменную х 10. у той час як цыкл будзе працягваць ітэрацыі у той час як значэнне х больш за нуль.

Каманда сну спыняе сцэнар на працягу 1 секунды кожны раз вакол завесы.

Астатняя частка сцэнара ачышчае экран кожную ітэрацыю, ня адлюстроўвае паведамленне «х секунды да выбуху выключаны» (г.зн. 10), а затым адымае 1 з велічыні х.

Без каманды чакання, сцэнар будзе павялічыць за кошт і паведамленні будуць адлюстроўвацца занадта хутка.

Каманда сну мае толькі некалькі перамыкачоў.

--help перамыкач паказвае файл даведкі для каманды сну. Вы можаце дасягнуць таго ж з дапамогай каманды чалавека наступным чынам:

чалавек сну

Каманда --version паказвае версію каманды сну, які ўсталяваны ў вашай сістэме.

Інфармацыя, якая вяртаецца з дапамогай перамыкача --version выглядае наступным чынам: