赞
踩
现有shell:env.sh
#!/bin/bash
export QTDIR=/home/XXX/E8SDK
export TMAKEPATH=/home/XXX/E8SDK/tmakelib/pwd/arm-linux-g++/
export PATH=/home/XXX/E8SDK/bin:/home/moon/e8-gcc/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
echo QTDIR=$QTDIR
echo TMAKEPATH=$TMAKEPATH
echo PATH=$PATH
cd /media/GAME/E8/E8rel/mpkgbox/mpkgbox2.0pro_free
make
1.在终端执行 ./env.sh,发现输出正常,QTDIR等被改变;接着echo $QTDIR,发现没有输出,也就说在子进程env.sh结束后变量无效了。
2. 在终端执行. ./env.sh(两点中有空格),QTDIR等被改变;接着echo $QTDIR也是正常的。
3.在.bashrc文件中加入export PATH=${PATH}:/home/XXX/E8SDK/bin:/home/XXX/e8-gcc/bin: 则终端启动后自动使用了这一改变。
总结:对于一般应用可以采用2的方式shell设置环境变量(当然手动输入也可以,如果变量少不嫌麻烦)。
参考.profile
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。