Командна оболонка Bash і Написання сценаріїв

«Написання сценаріїв» – це метод автоматизації процедур/завдань шляхом об'єднання команд і збереження їх у вигляді текстових файлів, які називаються «сценарії» («скрипти»). Кожного разу, коли Ви запускаєте такий сценарій, команди обробляються одна за одною так само, якщо б Ви вводили їх у термінал вручну.
Сценарії можуть бути різними – від простого виконання декількох команд у певному порядку до хитромудрих фрагментів коду, які вирішують складні завдання.

index Bash, або нова оболонка Борна (Bourne Again Shell)

Оскільки сценарії значною мірою залежать від оболонки, в якій вони інтерпретуються, Вам слід спочатку ознайомитися з інтерфейсом командного рядка BASH, який використовується в Haiku. В мережі Інтернет існує багато ресурсів з інформацією про цю командну оболонку бо вона є досить поширеною. Хорошим підручником послужить робота Йохана Янссона (Johan Jansson) Introduction to bash – a tutorial for bash under BeOS.
Bash Reference Manual (PDF, 720 KiB) – чудовий ресурс для отримання більш детальної інформації.

index Головна книга по сценаріям

Після того, як Ви вивчили основи роботи в командній оболонці, настав час поступово занурюватися у світ сценаріїв. Знову ж таки, Ви знайдете безліч навчальних посібників та довідкових матеріалів в мережі Інтернет а також у книжкових магазинах. Дуже гарним вступом, який практично створено спеціально для Haiku, є розділ Scripting Chapter (PDF, 900kb) з книги «The BeOS Bible» Скота Хакера (Scot Hacker) .

indexСценарії в Haiku

Раніше Haiku мала сценарії для завантаження та завершення роботи. Сьогодні замість них використовується демон запуску (launch_daemon). Втім, користувач все ще може доповнити цей процес за допомогою певних сценаріїв користувача. Якщо їх ще не існує, Вам доведеться створити необхідні файли самостійно. Надалі просто додайте свої команди до відповідного сценарію в якому вони будуть виконуваться.

index UserBootscript

Сценарій /boot/home/config/settings/boot/UserBootscript буде виконано після завершення процесу завантаження системи. Наприклад, Ви можете додати команди запуску програм і вони автоматично запускатимуться під час кожного завантаження:

# Запуск LaunchBox
/boot/system/apps/LaunchBox &

# Запуск Workspaces 
/boot/system/apps/Workspaces &

Не забудьте додати в кінці команди символ «&», щоб запустити цей процес у фоновому режимі. Якщо цього не зробити, сценарій зупиниться і буде очікувати завершення команди (у цьому прикладі: коли запущена програма буде закрита).

Простою альтернативою вищеописаному способу запуску програм під час завантаження є розміщення символьних посилань на ці програми у каталозі /boot/home/config/settings/boot/launch. Це можна зробити правим кліком миші на програмі, яку Ви хочете запускати автоматично, потім вибрати в контекстному меню пункт Створити посилання і з використанням навігації перейти до вищезгаданого каталогу.

index UserShutdownScript – ще не існує, потрібно створити

Сценарій /boot/home/config/settings/boot/UserShutdownScript буде виконано як перший крок у процесі завершення роботи системи. Якщо скрипт повертає ненульовий статус завершення своєї роботи, вимкнення буде перервано.

index UserShutdownFinishScript – ще не існує, потрібно створити

Сценарій /boot/home/config/settings/boot/UserShutdownFinishScript виконується як останній крок у процесі завершення роботи системи. Зауважте, що на момент виконання цього сценарію більшість частин системи вже завершили роботу.