乐哥的话-关于env-update
env-update脚本
/etc/env.d中的好几个文件都定义了PATH变量。这并没有错:当你运行env-update的时候,它会在更新环境变量之前把这些定义都追加到PATH里,因此对于软件包(或者用户)来说将会很容易地设置他们自己的环境变量,而不影响到现有变量的值。
env-update脚本会根据/etc/env.d里文件的字母顺序来附加变量的值。这些文件名必须要以两位数字开头。
代码 2.3: env-update所用的更新顺序
00basic 99kde-env 99local
+-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"
变量并不总是被串联起来,只有下列变量才会被串联:KDEDIRS、PATH、LDPATH、MANPATH、INFODIR、INFOPATH、
ROOTPATH、CONFIG_PROTECT、CONFIG_PROTECT_MASK、PRELINK_PATH以及
PRELINK_PATH_MASK。对于(/etc/env.d里的文件中按照字母顺序排列后)其他所有变量,最新定义的值才会被使用到。
当你运行env-update的时候,它会在文件/etc/profile.env里(会被/etc/profile使用)创建所有的环境变量。它也会从
变量LDPATH中获取信息用来建立/etc/ld.so.conf。这些完成以后,它将运行ldconfig来重建动态链接器需要的文件/etc
/ld.so.cache。
如果你想在运行env-update后立即看到效果,执行下面的命令来更新你的环境。自己安装过Gentoo的用户可能已经记住了这个安装指南中提到过的命令:
代码 2.4: 更新环境
# env-update && source /etc/profile
注意:
上面的命令只会更新你当前终端里的环境变量、新控制台以及它们的子程序。因此,假如你正在X11里工作,你要么在每一个你打开的终端里输入source
/etc/profile,要么重新启动X,这样所有新的终端才能引用到新的变量。如果你使用了登录管理器,登陆成root然后输入/etc
/init.d/xdm restart。如果不是这样,你需要注销然后重新登录回X这样才能产生使用新变量值的子程序。
重要: 你在定义其他变量时不能使用shell变量。这意味着这样的定义FOO="$BAR"(此处$BAR是另外一个变量)是不允许的。
阅读(3386) | 评论(0) | 转发(0) |