Bash и скрипты

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

index Bash

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

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

После того, как вы изучили некоторые основы работы в командной строке, пришло время выпускать себя в мир скриптинга. Опять же, множество руководств вы найдете в сети и на полках книжных магазинов. Книга, созданная специально для Haiku, доступна онлайн: Scripting Chapter (PDF, 900кб) от создателя "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. Это может быть сделано правым кликом по приложению, которое вы хотели бы поместить в автозапуск, выбрав меню Создать ссылку (Create Link) и затем выполнив перемещение по папкам используя навигацию.

index UserShutdownScript

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

index UserShutdownFinishScript

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