Оскільки BASH є мовою командного рядка, ми отримуємо досить багатофункціональний досвід, щоб використовувати навички програмування для виконання завдань у терміналі. Ми можемо використовувати цикли та умовні оператори в сценаріях BASH для виконання деяких повторюваних і складних задач простим програмним способом. У цій статті ми зосередимося на для циклу у сценаріях BASH.
Залежно від варіанту використання та проблеми, яку він намагається автоматизувати, існує кілька способів використання циклів.
- Простий цикл For
- Цикл for на основі діапазону
- Ітерація масиву для циклів
- С-подібні петлі
- Нескінченний цикл for
Простий цикл For
Щоб виконати цикл for, ми можемо написати такий синтаксис:
#!/bin/bash for n in a b c; do echo $n done>
- У першій ітерації
n>приймає значення a, і сценарій друкує a. - У другій ітерації
n>приймає значення b, і сценарій друкує b. - У третій ітерації
n>приймає значення c, а сценарій друкує c.

0,0625 як частка
Наведена вище команда перебиратиме вказані елементи після в ключове слово по одному. Елементами можуть бути числа, рядки або інші форми даних.
Цикл for на основі діапазону
Ми можемо використовувати цикли for на основі діапазону. У цьому типі циклу ми можемо вказати число для початку, зупинки та збільшення на кожній ітерації (необов’язково) у операторі. Ви можете зробити це двома способами, наприклад, згадавши значення інкремента/зменшення та збільшивши на одиницю за замовчуванням. Синтаксис виглядає так:
#!/bin/bash for n in {1..5}; do echo $n done> 
У наведеному вище коді ми використовуємо {} для визначення діапазону чисел. Усередині фігурних дужок ми вказуємо початкову точку, за якою йдуть дві крапки та кінцева точка. За замовчуванням він збільшується на одиницю. Отже, друкуємо 5 чисел від 1 до 5 включно.
#!/bin/bash for n in {1..5..2}; do echo $n done> 
Тут ми бачимо, що цикл збільшився на 2 одиниці, як зазначено у фігурних дужках. Таким чином, це робить роботу з числами дуже легкою та зручною. Це також можна використовувати з літерами.
ПРИМІТКА: Ми не можемо використовувати змінні у фігурних дужках, тому нам доведеться жорстко закодувати значення. Щоб використовувати змінні, ми бачимо традиційні цикли for у стилі C у наступних кількох розділах.
Ітерація масиву для циклів
Ми можемо зручно перебирати масиви в bash, використовуючи цикли for із певним синтаксисом. Ми можемо використовувати спеціальні змінні в BASH, наприклад @, щоб отримати доступ до всіх елементів у масиві. Давайте подивимося на код:
#!/bin/bash s=('football' 'cricket' 'hockey') for n in ${s[@]}; do echo $n done> 
Ми можемо перебирати елементи масиву за допомогою оператора @, який отримує всі елементи в масиві. Таким чином, використовуючи цикл for, ми перебираємо їх один за іншим. Ми використовуємо змінну ${variable_name[@]}, у якій фігурні дужки розширюють значення змінної s, яка є масивом рядків. Використовуючи оператор [@], ми отримуємо доступ до всіх елементів і таким чином перебираємо їх у циклі for. Ось, п є ітератором, тому ми можемо надрукувати значення або виконати необхідну обробку.
процес android acore
С-подібні петлі
Як було сказано раніше, нам потрібно використовувати змінні всередині циклів for для повторення діапазону елементів. Таким чином, цикли for у стилі C відіграють дуже важливу роль. Давайте подивимося, як ми їх використовуємо.
#!/bin/bash n=7 for (( i=1 ; i<=$n ; i++ )); do echo $i done>

Як ми бачимо, ми можемо динамічно використовувати значення діапазону кінцевих умов. Пам’ятайте, що пробіли між подвійними дужками можуть бути навмисними та є частиною синтаксису. Цикли for у стилі C – це цикли, які мають 3 частини: ітератор ініціалізації, інкремент/декремент і кінцеву умову.
У наведеному вище синтаксисі ми ініціалізували ітератор/лічильник циклу рівним 1, який може бути будь-яким на вибір. Друга частина — кінцева умова, тут ми використали змінну п який ініціалізується перед циклом for, тому ми використовуємо простий $ оператор для отримання значення змінної. Нарешті, у нас є інкремент/декремент, який змінює ітератор/лічильник на значення, яке може бути будь-яким, але в прикладі ми використали унарний оператор (++) щоб збільшити значення на одиницю, що еквівалентно i=i+1 . Таким чином, ми можемо використовувати такі твердження, як i+=2, i–,++i, і так далі і так далі.
Нескінченний цикл for
Ми не часто використовуємо це, але іноді це корисно, щоб певні речі працювали. Синтаксис досить простий і схожий на цикли for у стилі C.
#!/bin/bash n=4 for (( ; ; )); do if [ $n -eq 9 ];then break fi echo $n ((n=n+1)) done>
Цикл починається зn>встановлено на 4. Він збільшуєтьсяn>на 1 на кожній ітерації та друкує значенняn>покиn>стає рівним 9. Колиn>досягає 9, стbreak>оператор виконується, і цикл завершується. Сценарій зупиняється після друку чисел від 4 до 8.
програмування stdin c

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