Вивчаючи bash з Роккі¶
У цьому розділі ви дізнаєтесь більше про сценарії Bash, вправу, яку колись доведеться виконувати кожному адміністратору.
Загальні положення¶
Оболонка є інтерпретатором команд Linux. Це двійковий файл, який не є частиною ядра, а утворює додатковий рівень, звідси його назва «оболонка».
Він аналізує команди, введені користувачем, а потім виконує їх системою.
Є кілька оболонок, усі з яких мають спільні риси. Користувач може вільно використовувати той, який йому найбільше підходить. Деякі приклади:
- оболонка Bourne-Again (
bash
), - оболонка Korn (
ksh
), - оболонка C (
csh
), - тощо.
bash
наявний за умовчанням у більшості дистрибутивах Linux. Він характеризується своїми практичними та зручними функціями.
Оболонка також є базовою мовою програмування, яка завдяки деяким спеціальним командам дозволяє:
- використовувати змінні,
- умовно виконувати команди,
- повторювати команди.
Перевагою сценаріїв оболонки є те, що їх можна створити швидко та надійно без компіляціїабо встановлення додаткових команд. Сценарій оболонки — це лише текстовий файл без будь-яких прикрас (жирний шрифт, курсив тощо).
Важливо
Хоча оболонка є «базовою» мовою програмування, вона все ще є дуже потужною та іноді швидшою за погано скомпільований код.
Щоб написати сценарій оболонки, вам просто потрібно помістити всі необхідні команди в один текстовий файл. Зробивши цей файл виконуваним, оболонка зчитує його послідовно та виконує команди в ньому одну за одною. Його також можна виконати, передавши назву сценарію як аргумент у двійковий файл bash.
Коли оболонка стикається з помилкою, вона відображає повідомлення, щоб визначити проблему, але продовжує виконувати сценарій. Але існують механізми зупинки виконання сценарію, коли виникає помилка. Помилки, пов’язані з командою, також відображаються на екрані або всередині файлів.
Що таке хороший сценарій? Він є:
- надійним: його робота бездоганна навіть у разі неправильного використання;
- прокоментованим: його код анотовано для полегшення повторного читання та майбутньої еволюції;
- читабельним: код має відповідний відступ, команди рознесені, ...
- портативним: код працює в будь-якій системі Linux, керування залежностями, керування правами тощо.
Author: Antoine Le Morvan
Contributors: Steven Spencer, Ganna Zhyrnova