Bash (Bourne Again SHell) є однією з найпопулярніших оболонок командного рядка в UNIX-подібних операційних системах, таких як Linux і macOS. Вона є нащадком оболонки sh (Bourne Shell), розробленої Стівеном Борном для UNIX.
Основні характеристики і можливості
-
Інтерпретація команд. Bash служить як оболонка командного рядка, що дозволяє користувачам вводити команди та запускати програми за допомогою текстового інтерфейсу.
-
Шаблони й співставлення імен файлів. Bash підтримує використання шаблонів (наприклад, символу зірочки
*
для відповідності довільному рядку символів) при роботі з іменами файлів та директорій. -
Змінні і оточення. Bash дозволяє використовувати змінні для зберігання значень інформації, а також оточення, яке передає інформацію про середовище в якому працює оболонка.
-
Потоки вводу-виводу і перенаправлення. Ви можете керувати потоками вводу, виводу та помилок, використовуючи символи перенаправлення. Наприклад,
>
перенаправляє вивід до файлу, а|
передає вивід одній програмі як вхід іншої. -
Команди та скрипти. Ви можете використовувати вбудовані команди або створювати власні скрипти для автоматизації завдань. Скрипти виконують послідовність команд у Bash.
-
Умовні конструкції і цикли. Bash підтримує умовні конструкції, такі як
if-then-else
, і цикли, такі якfor
іwhile
, що дозволяють вам створювати більш складні скрипти. -
Функції. Ви можете визначати власні функції для подальшого використання в скриптах. Це дозволяє структурувати код та уникнути повторення.
-
Історія команд. Bash зберігає історію введених команд, що дозволяє вам легко повторити команди або використовувати попередні команди.
-
Завдання та процеси. Ви можете керувати поточними завданнями та процесами в системі за допомогою вбудованих команд.
-
Розширення командного рядка. Bash має багатий набір функцій для розширення командного рядка, таких як автоматичне завершення імен файлів та команд, підказки під час вводу та інші.
Це лише деякі з можливостей Bash. Вона є потужним інструментом для взаємодії з операційною системою і автоматизації різноманітних завдань в UNIX-подібних середовищах.