在哪个初始化级别读取 /etc/profile 或 /etc/environment 文件?

在哪个初始化级别读取 /etc/profile 或 /etc/environment 文件?

翻译:博士:在哪个初始化级别读取 /etc/profile 或 /etc/environment 文件?

我想创建一个服务 ( /etc/init.d/myservice),启动位于 的 shell 脚本/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

答案1

您可能在错误的位置存储应用程序配置信息。

/etc/profile用于配置登录 shell 的默认设置(例如,当通过 SSH 连接并bash作为登录 shell 调用时)。其目的不是为了配置应用程序安装位置等。

/etc/然而,作为一个整体,确实如此。完成您正在寻找的任务的最佳方法可能是定义一个始终位于 eg 的配置文件/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其配置,无论它恰好安装到文件系统上的哪个位置,并且其他系统管理员可以立即查看该文件的用途以及可重新配置哪些选项。

相关内容