linux中永久性变量和临时变量的设置

22 篇文章 0 订阅
11 篇文章 0 订阅
在Linux中,变量值按变量的生命周期来划分,可以分为两类,即永久性变量和临时变量。若需要定义永久性变量则需要修改配置文件,而临时变量可以使用export命令声明,所声明的变量在关闭shell时失效。
1.在/etc/profile文件中定义永久性变量
     在/etc/profile文件中定义永久性变量对所有的用户都有效,并且是永久性存在的,/etc/profile文件所定义的内容如下:

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}
# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
        EUID=`id -u`
        UID=`id -ru`
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
if [ -x /usr/bin/id ]; then
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
fi
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        . $i
    fi
done
unset i
unset pathmunge
例如,需要在/etc/profile中间中定义对系统所有用户都有效的永久性变量CLAAPATH,就可以用编辑器卡开该文件并使用export命令定义变量export CLAAPATH=${JAVA_HOME}/lib;${JAVA_HOME}/jre/lib
修改/etc/profile文件后,设置的变量在下次启动系统时生效,若想立即生效,运行命令 source /etc/profile


2.在当前用户的.bash_profile文件中定义
在当前用户的.bash_profile文件中定义,只对单用户有效,也就是说属于个人使用的变量。在当前用户下的.bash_profile文件中所定义的变量,
也属于用就像变量,下面是.bash_profile中的内容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
若想定义变量和上面的方法一致。


3.直接运行export命令定义变量
在终端提示下,可以直接使用命令 “export 变量名=变量值”的形式来定义变量,不过所有的变量只对当前的shell有效,即为临时变量,若关闭shell,所定义的变量就会失效.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值