小编sqe*_*ixs的帖子

如何在启动时通过脚本设置全局环境变量,并使它们可用于登录前运行的应用程序?

我有一个在启动时运行的服务,在该服务中,它在后台调用一个 bash 脚本来导出一些环境变量。我遇到的问题是这些环境变量没有被发送到后台进程的父进程,所以一旦我的脚本执行完毕,它们就消失了。

此外,在脚本运行后,服务会调用另一个脚本来启动我拥有的应用程序。此应用程序需要访问这些环境变量。

我运行它的 RHEL 系统意味着用户永远不会登录,它只会启动并启动应用程序。我知道父进程/shell 的环境变量并不能真正由子后台进程 shell 设置。

我需要一种方法来通过我的服务调用的脚本(虽然不一定在后台)来做到这一点,而不是将它们添加到我的服务中(这对我来说也不起作用),而不是将它们存储在一个/etc/environment.profile或任何类似的东西。

在我的服务中,我尝试添加环境变量(虽然不是我想做的):

    export TEST=192.168.1.1
Run Code Online (Sandbox Code Playgroud)

我也在我的服务中尝试过这个:

    TEST=192.168.1.1
    export TEST=${TEST}
Run Code Online (Sandbox Code Playgroud)

我尝试更改我的服务调用 bash 脚本的方式:

    /bin/asdf/script &
Run Code Online (Sandbox Code Playgroud)

我也试过采购的脚本,使其在同一个外壳(这是我从运行了):

    . ./bin/asdf/script
    #I'm very confused why this didn't work
Run Code Online (Sandbox Code Playgroud)

我还发现看起来很有趣,但在我的情况下并没有真正成功。

boot rhel shell-script environment-variables

18
推荐指数
2
解决办法
6万
查看次数

在任何登录发生之前,设置 Setuid 位如何影响在系统启动时运行的 shell 脚本?

当该脚本在启动时运行时,在 shell 脚本上启用 setuid 位会产生什么不同吗?谁是有效用户?

boot rhel setuid shell-script

2
推荐指数
1
解决办法
544
查看次数

标签 统计

boot ×2

rhel ×2

shell-script ×2

environment-variables ×1

setuid ×1