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

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

我正在为某些软件编写一些安装脚本。它所做的只是解压缩目标tar,然后我要永久设置一些环境变量-主要是解压缩的库的位置并更新$ PATH。我是否需要以编程方式编辑.bashrc文件,例如在末尾添加适当的条目,还是有其他方法?什么是标准做法?

Edit:该程序包包含许多都使用这些命名的环境变量的运行脚本(20+),因此我需要以某种方式进行设置(选择变量名以使发生碰撞的可能性极小)

linux installer environment-variables bash
3个回答
16
投票

符合LSB的规范(请参阅spec)是在/etc/profile.d/文件夹中创建Shell脚本。

在应用程序后命名(并确保名称是唯一的),请确保名称以.sh结尾(您可能还希望为其他shell添加脚本),并export在其中使用所需的变量剧本。用户登录时将读取该目录中的所有*.sh脚本-同时/etc/profilesource d。

请注意,bash并不强制执行;相反,这是一种协议。


3
投票

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

。bashrc的更新尤其容易出错;如果用户使用其他文件或外壳程序怎么办?


2
投票

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

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