Руководство пользователя

# Bash и скрипты

"Скриптинг" - это техника автоматизации процедур путем объединения команд и сохранения их в виде текстовых файлов, называемых "скриптами" ("сценариями"). Всякий раз, когда вы запускаете скрипт, команды обрабатываются одна за одной так, будто они были введены вами в Терминале (Terminal) вручную.
Скрипты могут варьироваться от простейших, выполняющих всего несколько команд в особом порядке, до нетривиальных фрагментов кода, решающих сложные задачи.

## Bash

Учитывая, что скрипты во многом зависят от оболочки, которой они интерпретируются, для начала вам следует ознакомиться с BASH, который используется в Haiku. В сети есть достаточно много ресурсов, ведь эта оболочка широко распространена. Хорошим руководством послужит работа Йохана Янссона (Johan Jansson) Introduction to bash - a tutorial for bash under BeOS.

## Библия скриптинга

После того, как вы изучили некоторые основы работы в командной строке, пришло время выпускать себя в мир скриптинга. Опять же, множество руководств вы найдете в сети и на полках книжных магазинов. Книга, созданная специально для Haiku, доступна онлайн: Scripting Chapter (PDF, 900кб) от создателя "BeOS Bible" - Скота Хакера (Scot Hacker).

## Скрипты в Haiku

Разумеется, в работе Haiku тоже используются скрипты. Загрузка и завершение работы - типичные скриптовые процедуры. Эти четко определенные последовательности могут быть расширены с помощью пользовательских скриптов.
Если они еще не существуют, вам придется создать их самостоятельно. В ином случае просто добавьте нужные команды туда, где они должны быть выполнены.

### UserBootscript

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

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

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

Не забудьте добавить в конце команды знак "`&`", чтобы запустить этот процесс в фоновом режиме, иначе скрипт зависнет, пока эта команда не будет завершена (в данном случае, когда запущенное приложение будет закрыто).

Более простая альтернатива для запускающихся приложений во время загрузки - разместить ссылки на необходимые программы в папке /boot/home/config/boot/launch. Это может быть сделано правым кликом по приложению, которое вы хотели бы поместить в автозапуск, выбрав меню Создать ссылку (Create Link) и затем выполнив перемещение по папкам используя навигацию.

### UserShutdownScript

/boot/home/config/boot/UserShutdownScript будет выполнен в качестве первого этапа в процессе завершения работы. Если скрипт возвращает ненулевой результат по окончании, завершение работы прекращается.

### UserShutdownFinishScript

/boot/home/config/boot/UserShutdownFinishScript выполняется в последнюю очередь в процессе завершения работы. Имейте ввиду, что большинство элементов системы уже не функционируют во время выполнения этого скрипта.