如何在 CentOS 中永久设置环境变量?

use*_*570 10 linux ssh centos environment-variables

我在服务器上的 SSH 终端中使用了以下命令:

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
Run Code Online (Sandbox Code Playgroud)

它工作正常:我的程序此时会找到所有库(如果我从我的 SSH 命令行启动它)。

一个命令

env
Run Code Online (Sandbox Code Playgroud)

显示 LD_LIBRARY_PATH 设置正确。

但!当我关闭 SSH 客户端并再次重新连接时,不再设置 LD_LIBRARY_PATH。

CentOS下如何在我的服务器上不断设置环境变量?谢谢。

小智 6

正如您在自己的答案和@Fegnoid 给出的答案中所提到的,将变量导出到.sh文件内/etc/profile.d/或内即可~/.bash_profile。请记住,如果您打算在服务脚本中使用这些环境变量,它可能不会像您预期的那样工作,因为会service清除除少数环境变量之外的所有环境变量。

请参阅https://unix.stackexchange.com/a/44378/148497


Feg*_*oid 2

导出用户的 ~/.profile 或 ~/.bash_profile 中的变量,以便在登录时设置它们,因此该行将是

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)