如何在 Linux 中以编程方式设置永久环境变量?

问题描述 投票:0回答:3

我正在为某些软件编写一个小安装脚本。它所做的就是解压目标 tar,然后我想永久设置一些环境变量 - 主要是解压库的位置并更新 $PATH。我是否需要以编程方式编辑

.bashrc
文件,例如在末尾添加适当的条目,还是有其他方法?标准做法是什么?

编辑: 该包包含许多运行脚本(20+),它们都使用这些命名的环境变量,所以我需要以某种方式设置它们(变量名称的选择使得冲突极不可能)

linux installation environment-variables bash
3个回答
17
投票

LSB 兼容(参见 spec)做法是在

/etc/profile.d/
文件夹中创建 shell 脚本。

以您的应用程序命名(并确保名称是唯一的),确保名称以

.sh
结尾(您可能还想为其他 shell 添加脚本)和
export
中您需要的变量脚本。 该目录中的所有
*.sh
脚本都会在用户登录时读取 - 同时
/etc/profile
source
d。

请注意,这不是由

bash
强制执行的;相反,这是某种协议。


3
投票

标准做法是安装到路径和标准库目录中已有的目录中,因此无需更新这些变量。

除其他事项外,更新 .bashrc 有点容易失败;如果用户使用不同的文件或 shell 怎么办?


2
投票

您还可以生成并安装设置这些变量的脚本。然后,包的用户获取该脚本或将其内容复制到他们自己的 shell 初始化文件中。

© www.soinside.com 2019 - 2024. All rights reserved.