Answers:
在系统范围内定义环境变量的传统位置是/etc/profile
。当您登录本地(在文本模式控制台上)或远程(通过ssh)进行文本模式会话时,该文件将由Bourne样式的shell(包括bash,ksh,ash)读取。如果您在图形环境中登录,则/etc/profile
可能会或可能不会读取,这取决于您的登录管理器,桌面环境和操作系统分发。
更好的方法(如果在系统上可用)是在中定义环境变量/etc/environment
。该文件由PAM(特别是pam_env
模块)读取。在使用PAM的登录方法启动的所有会话中,这些变量均可用,并且pam_env
在/etc/pam.conf
或中引用了模块/etc/pam.d/$method
。
尽管不是100%可靠的方法,但最简单的方法可能是将其添加到中/etc/bashrc
。
这是不可靠的,因为任何个人用户都可以设置为不处理/etc/bashrc
。
如果您想采用更复杂的方法,则可以创建一个包装器来对其进行设置。首先,您将重命名pkg-config
为pkg-config-real
,然后创建一个新的脚本pkg-config
,该脚本将设置变量。
(以root用户身份,或使用sudo)
cd /usr/bin
mv pkg-config pkg-config-real
然后在/ usr / bin / pkg-config中使用以下内容创建一个新文件:
#!/bin/bash
export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib
pkg-config-real $*
确保使其可执行。
chmod 755 pkg-config
/etc/bashrc
在不正确的位置,请参见.bashrc和.bash_profile之间的区别。您不建议您在中修改文件/usr/bin
;最好从那里创建/usr/local/bin/pkg-config
并致电/usr/bin/pkg-config
。在脚本中,您必须使用"$@"
,而不是$*
; 进一步改进:#!/bin/sh
和exec pkg-config-real
。