关于ubuntu下bash中环境变量

来源:互联网 发布:淘宝上靠谱的手机店 编辑:程序博客网 时间:2024/04/30 06:33

现有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

原创粉丝点击