Програмування BASH

Створення нескінченного циклу Bash на прикладі сценаріїв

Створення нескінченного циклу Bash на прикладі сценаріїв
Нескінченний цикл в Bash або будь-якій іншій мові програмування відноситься до циклу, який є неперервним i.e., його умова припинення ніколи не виконується або умова її виконання назавжди залишається істинною. Такі цикли на будь-якій мові програмування дуже просто написати. Будь то цикл "for" або цикл "while", його можна зробити нескінченним за допомогою дуже незначної настройки в своєму звичайному синтаксисі.

У цій статті ми поділимося з вами різними способами того, як ви можете зручно робити цикли "for" і "while" нескінченно в Bash в Linux Mint 20.

Приклади сценаріїв Bash Infinite Loop у Linux Mint 20:

У Bash існують різні способи роботи з нескінченними циклами, і приклади сценаріїв, що демонструють їх, описані нижче:

Примітка. Ви можете отримати доступ до всіх сценаріїв Bash, обговорених у цій статті, у нашому Домашньому довіднику з назвою InfiniteLoop.ш.

Сценарій №1: Цикл “While”, використовуючи команду “:” у Bash в Linux Mint 20:

У цьому прикладі ми створимо нескінченний цикл “while”, поєднавши його з командою “:” у Bash в Linux Mint 20. Просто скопіюйте наступний сценарій, показаний на зображенні, у файлі Bash.

Як показано в сценарії Bash вище, ми створили цикл “while”, за яким слідує команда “:”. Ця команда є альтернативою команді “true”, що означає, що незалежно від ситуації, коли ситуація “while” завжди буде виконуватися. Усередині цього циклу “while” ми просто надрукували зразок повідомлення, яке говорить: “Продовжуй працювати”. Потім ми маємо команду “сплячий”, вона чекає 1 секунду перед тим, як друкувати кожне наступне повідомлення на терміналі.

Після написання цього сценарію Bash ми виконаємо його за допомогою команди, показаної нижче:

$ bash InfiniteLoop.ш

Коли згаданий скрипт буде виконано, ви помітите нескінченні повідомлення, що говорять: «Продовжуй працювати», що відображаються на вашому терміналі, як показано на наступному зображенні. Ці повідомлення зупиняться, лише якщо натиснути Ctrl + C. В іншому випадку цей цикл буде просто продовжуватися і тривати.

Сценарій №2: Цикл “While”, використовуючи команду “true” у Bash в Linux Mint 20:

У цьому прикладі ми створимо нескінченний цикл “while”, поєднавши його з командою “true” в Bash в Linux Mint 20. Просто скопіюйте сценарій, показаний на зображенні, у файл Bash. Як ви можете помітити, сценарій точно такий же, як і той, який ми створили в першому сценарії. Однак єдина відмінність полягає в тому, що цього разу ми замінили команду “:” командою “true”. Тим не менше, це буде служити точно таким же цілям.

Ми виконаємо цей сценарій за допомогою тієї ж команди “bash”, і ми помітимо нескінченну серію повідомлень на нашому терміналі, яка закінчиться лише після натискання Ctrl + C, як показано на зображенні нижче:

Сценарій №3: Один вкладиш "Цикл", використовуючи команду ":" у Bash в Linux Mint 20:

Ви могли помітити, що сценарії №1 та 3 надмірно довгі. Ну, обидва ці сценарії можна втиснути в команду з одним вкладишем. Просто скопіюйте сценарій, показаний на зображенні нижче:

Сценарій, показаний на зображенні вище, є точною копією сценарію №1. Однак замість того, щоб писати кожну команду в інший рядок, ми просто розділяли їх, використовуючи крапки з комою.

Коли ми виконаємо цей скрипт, ми отримаємо точно такі ж результати, як і після виконання сценарію №1. Це видно з малюнка, показаного нижче:

Сценарій №4: Один вкладиш "Цикл", використовуючи команду "true" у Bash в Linux Mint 20:

Подібним чином ми можемо стиснути сценарій №2 в команді з одним вкладишем. Просто скопіюйте сценарій, показаний на зображенні нижче:

Можна помітити, що сценарій, показаний на зображенні вище, є точною копією сценарію №2. Знову ж таки, єдина різниця полягає в тому, що замість того, щоб писати кожну команду в інший рядок, ми просто розділяли їх, використовуючи крапки з комою.

Коли ми виконаємо цей скрипт, ми отримаємо ті самі результати, що й після виконання сценарію №2. Це видно з малюнка, показаного нижче:

Сценарій №5: Для циклу без будь-яких параметрів у Bash в Linux Mint 20:

Цей приклад відрізняється від сценаріїв №1 до 4, оскільки замість використання циклу “while” ми збираємося створити нескінченний цикл “for”. Просто скопіюйте сценарій, показаний на зображенні нижче:

Завдання, яке ми збираємося виконати в циклі “for”, таке саме, як і у сценаріїв, обговорених вище. Однак замість того, щоб використовувати цикл “while”, ми використовували цикл “for” без будь-яких умов та параметрів. Він завжди виконується, оскільки його стан за замовчуванням вважається «істинним».

Ми виконаємо цей сценарій за допомогою тієї ж команди “bash”, і ми помітимо нескінченну серію повідомлень на нашому терміналі, яка закінчиться лише після натискання Ctrl + C, як показано на зображенні нижче:

Висновок:

У цій статті ми навчили вас п’яти різним способам реалізації нескінченних циклів у Bash. Ці цикли продовжуватимуть працювати вічно, оскільки жодна умова завершення не вказана, або навіть якщо така є, вона ніколи не буде виконуватися. Отже, якщо ви хочете покласти край цьому нескінченному циклу, вам доведеться або використати оператор “break” з певною умовою в цьому циклі, або під час виконання такого сценарію, вам просто потрібно натиснути Ctrl + C як ми обговорювали у всіх наших прикладах.

Як використовувати Xdotool для стимулювання клацань миші та натискань клавіш у Linux
Xdotool - це безкоштовний інструмент командного рядка з відкритим кодом для імітації клацань миші та натискань клавіш. У цій статті буде розглянуто ко...
Топ 5 ергономічних продуктів для комп'ютерної миші для Linux
Чи викликає тривале використання комп’ютера біль у зап’ясті або пальцях? Ви страждаєте від ригідності суглобів і вам постійно доводиться трясти руки? ...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...