我正在为一些软件编写一些安装脚本。它只是解压缩目标tar,然后我想永久设置一些环境变量 - 主要是解压缩的libs的位置和更新$ PATH。我是否需要以编程方式编辑.bashrc
文件,例如在末尾添加适当的条目,还是有其他方法?什么是标准做法?
编辑:该软件包包含许多运行脚本(20+),它们都使用这些命名的环境变量,因此我需要以某种方式设置它们(已选择变量名称以便发生冲突是非常不可能的)
答案 0 :(得分:16)
符合LSB(参见spec)的做法是在/etc/profile.d/
文件夹中创建一个shell脚本。
在应用程序之后命名(并确保名称是唯一的),确保名称以.sh
结尾(您可能还想为其他shell添加脚本)和export
脚本中需要的变量。该目录中的所有*.sh
脚本都是在用户登录时读取的 - 同时/etc/profile
为source
d。
请注意,bash
并未强制执行此操作。相反,这是各种协议。
答案 1 :(得分:3)
标准做法是安装到路径和标准库目录中已有的目录中,因此无需更新这些变量。
更新.bashrc有点容易出错,除此之外;如果用户使用不同的文件或shell会怎样?
答案 2 :(得分:2)
您还可以生成并安装设置这些变量的脚本。然后,您的软件包的用户可以获取该脚本或将其内容复制到自己的shell init文件中。