/etc/environment
我遇到了一个问题。我在使用中设置了一个环境变量BOOST_LIBRARYDIR="/usr/local/lib/boost/release"
。
echo $BOOST_LIBRARYDIR
正确地将值回显到终端。但是,如果我echo $BOOST_LIBRARYDIR
在使用它的脚本中执行./test.sh
,则显示环境变量为空。据我了解,是否也应该为子进程设置它?
答案1
如果您希望将环境变量传递给子级,则必须将其导出。要验证它是否已导出,请使用命令env
。最安全的方法如下。
BOOST_LIBRARYDIR="/usr/local/lib/boost/release"; export BOOST_LIBRARYDIR
较新的外壳喜欢bash
并ksh
接受更简单的形式。
export BOOST_LIBRARYDIR ="/usr/local/lib/boost/release"
答案2
由于/etc/environment
似乎来源于/etc/init/gdm.conf
,我认为你可以用
export BOOST_LIBRARYDIR="/usr/local/lib/boost/release"