Как да поставите на пауза Bash скрипт с командата за заспиване на Linux

Bash shell на концепцията за работния плот на Unity

Фатмавати Ахмад Заенури/Shutterstock.com



Командата за заспиване кара вашия Linux компютър да не прави нищо. Може би е контраинтуитивно, но периодът на бездействие понякога е точно това, което е необходимо. Тази статия ви показва как ефективно да използвате тази команда на обвивката на Bash.

Използвайки |_+_| лесно е. В командния ред въведете |_+_|, интервал, число и след това натиснете Enter.





sleep

Курсорът ще изчезне за пет секунди и след това ще се върне. Какво стана? Използвайки |_+_| в командния ред инструктира Bash да спре обработката за времето, което сте предоставили. В нашия пример това беше пет секунди.

Няма видим изход от команда за сън 5



Можем да предаваме продължителност на |_+_| в дни, часове и минути, както и в секунди. За да направите това, включете суфикс от |_+_| или |_+_| с продължителността. За да накарате съня да спре за един ден, четири часа, седем минути и пет секунди, използвайте команда като тази:

sleep

|_+_| суфиксът (за секунди) не е задължителен. Без суфикс, |_+_| ще третира всяка продължителност като секунди. Да предположим, че искате да имате |_+_| пауза за пет минути и двадесет секунди. Един правилен формат на тази команда е:

sleepРеклама

Ако забравите да предоставите |_+_| суфикс за продължителността на минутите, вие ще инструктирате |_+_| за пауза за пет секунди и след това отново за двадесет секунди. Така че |_+_| ще спре за 25 секунди.



Много команди изискват от вас да предоставите параметри в определен ред, но |_+_| е много прощаващо. Можете да ги предоставите в произволен ред и |_+_| ще има смисъл от тях. Можете също да предоставите число с плаваща запетая като параметър. Например, 0.5h е валиден начин да посочите, че желаете |_+_| да направи пауза за половин час.

Всички следните (все по-ексцентрични) команди казват |_+_| за пауза за 10 секунди.

sleep d, h, m, s s

Използване на заспиване за пауза преди команда

|_+_| командата може да се използва, за да се даде пауза преди изпълнението на команда. Тази команда ще спре за 15 секунди и след това ще издаде звуков сигнал.

sleep

Използване на заспиване за пауза между две команди

Можете да използвате |_+_| за да направите пауза между две команди. Тази команда ще изброи файловете във вашата директория с документи, ще направи пауза за пет секунди и след това ще промени текущата работна директория във вашата домашна директория:

sleep

Изход от две команди, разделени от спящ режим

Използване на заспиване за пауза в изпълнението на скрипт

Можете да използвате |_+_| команда в скриптове на обвивката, за да поставите на пауза изпълнението на скрипта за точно определен период от време. Обикновено бихте направили това, за да дадете достатъчно време за завършване на някакъв процес, преди скриптът да продължи обработката си. Можете също да го използвате, за да ограничите скоростта на заявките, които скриптът прави към друг ресурс.

Реклама

За да демонстрираме точно това, ето скрипт, който извиква уеб услуга на Google чрез |_+_|. Когато потърсите уеб услугата с ISBN номер на книга, той отговаря с изхвърляне на JSON данни относно тази книга. Можем да анализираме тези данни, като ги предадем през |_+_| програма за извличане на заглавието на книгата. Така че скриптът не натоварва уеб услугата, той заспива за една секунда между уеб заявките.

Създайте файл, съдържащ следния текст, и го запазете като |_+_|.

m

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

sleep

Скриптът изисква |_+_| и |_+_| комунални услуги. Използвайте |_+_| за да инсталирате тези пакети във вашата система, ако използвате Ubuntu или друга базирана на Debian дистрибуция. В други дистрибуции на Linux използвайте вместо това инструмента за управление на пакети на вашата Linux дистрибуция.

sleep sleep

Създайте текстов файл, съдържащ следните числа, и го запазете като |_+_|.

sleep

Стартирайте |_+_| скрипт и прехвърлете |_+_| файл като параметър.

sleep

Реклама

Заявките се отправят към уеб услугата на Google на интервали от една секунда. Заглавието на книгата ще се появи малко след запитване за всеки ISBN номер.

Това е всичко, което има за |_+_|. Вътрешната работа на |_+_| скрипт са извън обхвата на тази статия. Скриптът е избран само за да илюстрира валидно използване на |_+_| команда. Ако искате да прочетете повече за двата основни компонента на скрипта, вижте |_+_| страница на проекта и |_+_| онлайн ръководство .

Linux команди
Файлове катран · pv · котка · tac · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии