Перейти до змісту

Вивчаючи bash з Роккі

У цьому розділі ви дізнаєтесь більше про сценарії Bash, вправу, яку колись доведеться виконувати кожному адміністратору.

Загальні положення

Оболонка є інтерпретатором команд Linux. Це двійковий файл, який не є частиною ядра, а утворює додатковий рівень, звідси його назва «оболонка».

Він аналізує команди, введені користувачем, а потім виконує їх системою.

Є кілька оболонок, усі з яких мають спільні риси. Користувач може вільно використовувати той, який йому найбільше підходить. Деякі приклади:

  • оболонка Bourne-Again (bash),
  • оболонка Korn (ksh),
  • оболонка C (csh),
  • тощо.

bash наявний за умовчанням у більшості дистрибутивах Linux. Він характеризується своїми практичними та зручними функціями.

Оболонка також є базовою мовою програмування, яка завдяки деяким спеціальним командам дозволяє:

  • використовувати змінні,
  • умовно виконувати команди,
  • повторювати команди.

Перевагою сценаріїв оболонки є те, що їх можна створити швидко та надійно без компіляціїабо встановлення додаткових команд. Сценарій оболонки — це лише текстовий файл без будь-яких прикрас (жирний шрифт, курсив тощо).

Важливо

Хоча оболонка є «базовою» мовою програмування, вона все ще є дуже потужною та іноді швидшою за погано скомпільований код.

Щоб написати сценарій оболонки, вам просто потрібно помістити всі необхідні команди в один текстовий файл. Зробивши цей файл виконуваним, оболонка зчитує його послідовно та виконує команди в ньому одну за одною. Його також можна виконати, передавши назву сценарію як аргумент у двійковий файл bash.

Коли оболонка стикається з помилкою, вона відображає повідомлення, щоб визначити проблему, але продовжує виконувати сценарій. Але існують механізми зупинки виконання сценарію, коли виникає помилка. Помилки, пов’язані з командою, також відображаються на екрані або всередині файлів.

Що таке хороший сценарій? Він є:

  • надійним: його робота бездоганна навіть у разі неправильного використання;
  • прокоментованим: його код анотовано для полегшення повторного читання та майбутньої еволюції;
  • читабельним: код має відповідний відступ, команди рознесені, ...
  • портативним: код працює в будь-якій системі Linux, керування залежностями, керування правами тощо.

Author: Antoine Le Morvan

Contributors: Steven Spencer, Ganna Zhyrnova