如何设置全局持久变量?

如何设置全局持久变量?

我正在创建一个 bashscript 来设置我正在编写的一个小应用程序。该设置的一部分需要设置环境变量,以便其他进程可以引用它。

我的简单 shell 脚本测试如下所示:

#!/bin/sh

export FOO=abc

我理解为什么FOO脚本执行后不可见,如果这样做的话:

$ sh script.sh

以及为什么这会使其可见:

$ source script.sh

所以这是一个解决方法,但我想知道常见的安装脚本是如何做到这一点的 - 例如,我很确定像 mysql 等安装程序确实设置了全局环境变量。

正确的做法是什么?我想我可以要求用户通过运行以下命令进行安装:

$ source script.sh

但不确定是否有更好的方法。

谢谢

答案1

将这些行添加到您的脚本中。您的脚本应该有root访问权限。

echo 'export FOO=abc' > /etc/profile.d/foo.sh

下次重启即可使用。

相关内容