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

时间:2010-05-23 13:52:57

标签: linux installer environment-variables bash

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

编辑:该软件包包含许多运行脚本(20+),它们都使用这些命名的环境变量,因此我需要以某种方式设置它们(已选择变量名称以便发生冲突是非常不可能的)

3 个答案:

答案 0 :(得分:16)

符合LSB(参见spec)的做法是在/etc/profile.d/文件夹中创建一个shell脚本。

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

请注意,bash并未强制执行此操作。相反,这是各种协议。

答案 1 :(得分:3)

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

更新.bashrc有点容易出错,除此之外;如果用户使用不同的文件或shell会怎样?

答案 2 :(得分:2)

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