![uCLinux 如何使环境变量对由 init 和生成的 shell 运行的进程可见](https://linux22.com/image/580580/uCLinux%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%AF%B9%E7%94%B1%20init%20%E5%92%8C%E7%94%9F%E6%88%90%E7%9A%84%20shell%20%E8%BF%90%E8%A1%8C%E7%9A%84%E8%BF%9B%E7%A8%8B%E5%8F%AF%E8%A7%81.png)
我正在使用 uCLinux 系统,需要设置自定义环境变量。我希望在启动顺序的早期设置变量,以便启动的守护进程可以读取它。我尝试在 rcS 启动脚本中导出变量(在它从 /etc/rc.d/rcS.d/ 启动主启动脚本之前,这似乎可以正常工作,但登录 shell msh 不会继承该变量。
我如何配置系统以便基本上所有启动的进程都能看到这个新的环境变量?
TY,弗雷德
答案1
不熟悉 uCLinux 本身,所以不能确定任何特定的地方,但是对于 Linux 中所有进程所需要的东西,您应该查看 /etc/inittab 或等效文件,其中为系统初始化了一些东西。
看看您是否有一个应该用于此目的的 /etc/default/init。
我做了一些研究,这是手册上所说的内容,所以 /etc/rc 是您应该添加内容的地方,但请查看它以了解合适的位置。
由内核自动启动的 init 进程首先启动脚本文件 /etc/rc,然后使用 /etc/inittab 启动更多进程(如果已在其中定义)。默认情况下,uCLinux-dist 使用空的 inittab,因此仅使用 /etc/rc 来启动系统。