В каких файлах init level / etc / profile или / etc / environment читаются?

TL: DR : В каком файле начального уровня / etc / profile или / etc / environment читаются?

Я хочу создать службу ( /etc/init.d/myservice ), начиная скрипт оболочки, расположенный в /opt/myservice/myservice.sh . Однако это место ( /opt/myservice/ ) определено во время установки, поэтому оно не является фиксированным.

Предположим, что я установил переменную среды в /etc/profile или /etc/environment например MYSERVICE_PATH=/opt/myservice , установите # Default-Start: 3 4 5 в файле /etc/init.d/myservice .

Могу ли я с уверенностью предположить, что $MYSERVICE_PATH всегда будет доступен на этих уровнях инициализации (3,4,5), поэтому мой сценарий инициализации может вызвать sh $MYSERVICE_PATH/myservice.sh ?

  • Найти все размеры и ширину файлов изображений в каталоге
  • Я случайно скопировал часть каталога / * to / some /, как мне исправить мою ошибку?
  • Сортировка файлов по наивысшему числу в имени файла
  • Как я могу группировать числа в файле
  • Вычитание времени Bash
  • Лучше ли использовать $ (pwd) или $ PWD?
  • Проверка состояния настраиваемых служб со сценарием
  • Пересечение строк в файле с использованием bash и переход к переменной. Результирующая переменная - это не то же значение, что и файл, почему?
  • One Solution collect form web for “В каких файлах init level / etc / profile или / etc / environment читаются?”

    Вы можете искать неправильное место для хранения информации о конфигурации приложения.

    /etc/profile используется для настройки параметров по умолчанию для систем входа (например, при включении SSHing и вызове bash в качестве оболочки входа). Его цель заключается не в настройке местоположений установки приложений и т.п.

    /etc/ в целом, это именно так. Скорее всего, лучший способ выполнить то, что вы ищете, – это определить файл конфигурации, который всегда работает, например, /etc/myservice.conf , который может выглядеть примерно так:

     # Configuration file for the My Service daemon # # Default settings: # myservice_root - The directory in which the service is installed # Default: /var/run/myservice # myservice_port - The TCP port upon which the service listens for incoming connecitons # Default: 55321 myservice_root=/opt/myservice myservice_port=6466 

    /etc/myservice.conf образом, ваше приложение всегда может посмотреть /etc/myservice.conf для своей конфигурации, независимо от того, в каком месте на файловой системе оно должно быть установлено, а другие системные администраторы могут мгновенно увидеть, для чего этот файл и какие параметры доступны для переконфигурации.

    Linux и Unix - лучшая ОС в мире.