Этот бит кода состоит из четырех компонентов:
1). #! / Bin / sh
- это «шебанг», который указывает на конкретный интерпретатор, в котором выполняется последующий код. В этом случае код, который идет после shebang, отправляется Sh, который, скорее всего, является Bash (вероятно, наиболее распространенной оболочкой Linux).
2). \ n
- специальный символ, определяющий новую строку.
3). exit 0
используется в сценариях, чтобы определить, как он закончится. Как правило, нулевой код выхода означает, что программа завершилась успешно (не всегда верно, поэтому имейте это в виду).
4). >
- это перенаправление Linux. Есть несколько операторов, которые могут управлять Stdin, Stdout и Stderr. В этом случае результаты Stdin (слева от оператора) отправляются в файл (определяемый именем файла справа от оператора). Вот как обновляется этот конкретный файл.
Предполагая, что это дистрибутив Debian / Ubuntu, policy-rc.d
определяет, запускается / перезапускается демон, если он только что был установлен / обновлен. Это делается путем считывания кода выхода, поэтому в этом примере «0» будет означать, что автоматический запуск разрешен.
Обычно в chrooted средах этот код выхода установлен на 101, чтобы предотвратить запуск демонов. Вот полезная ссылка для получения дополнительной информации: https://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt