Обычно сценарии в /etc/init.d пишутся в «родной оболочке» ОС (например, bash, sh, posix-sh и т. Д.). Это особенно верно для сценариев, которые будут выполняться на более низких уровнях инициализации (например, не каждый каталог будет монтироваться в однопользовательском режиме, в том числе везде, где могут быть установлены python или библиотеки сайтов).
Большинство ОС предоставляют некоторые «вспомогательные функции», которые облегчают написание сценариев в некоторых собственных оболочках. Эти сценарии определяют определенные коды возврата и сообщения, которые необходимы / желательны при написании служебных сценариев. В системах на базе RedHat см .:
/etc/init.d/functions
Кроме того, служебные сценарии в /etc/init.d могут быть написаны на любом языке (включая скомпилированные языки). Общий синтаксис вызова должен быть поддержан. Обычно есть три аргумента, которые должны поддерживаться: запуск, остановка и статус. Некоторые дополнительные аргументы могут быть подходящими, в зависимости от назначения сценариев.
% /etc/init.d/foo (start|stop|status)