感谢支持
我们一直在努力

CentOS修改系统环境变量

我这里拿php作为一个例子,我的php安装在/usr/local/webserver/php下,没有把php加入环境变量时,你在命令行执行


#查看当前php的版本信息
[root@CentOS ~]# php -v

会提示你此命令不存在。


下面详细说说linux下修改环境变量的方法


方法一: 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。


[root@CentOS ~]# vi /etc/profile
在文件末尾加上如下两行代码
PATH=/usr/local/webserver/php/bin:$PATH
export PATH

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go
in /etc/bashrc

# Its NOT a good idea to change this file unless you know what you
# are doing. Its much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need
for merging in future updates.

pathmunge () {
case :${PATH}: in
*:$1:*)
;;
*)
if [ $2 = after ] ; then
PATH
=$PATH:$1
else
PATH
=$1:$PATH
fi
esac
}

if [ -x /usr/bin/id ]; then
if [ -z $EUID ]; then
# ksh workaround
EUID
=`id –u`
UID
=`id –ru`
fi
USER
=`id -un`
LOGNAME
=$USER
MAIL
=/var/spool/mail/$USER
fi

# Path manipulation
if [ $EUID = 0 ]; then
pathmunge
/sbin
pathmunge
/usr/sbin
pathmunge
/usr/local/sbin
else
pathmunge
/usr/local/sbin after
pathmunge
/usr/sbin after
pathmunge
/sbin after
fi

HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE
=1000
if [ $HISTCONTROL = ignorespace ] ; then
export HISTCONTROL
=ignoreboth
else
export HISTCONTROL
=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold
for system reserved uid/gids is 200
# You could check uidgid reservation validity
in
#
/usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ `id -gn` = `id -un` ]; then
umask
002
else
umask
022
fi

for i in /etc/profile.d/*.sh ; do
if [ -r “$i” ]; then
if [ “${-#*i}” != “$-” ]; then
. “$i”
else
. “$i” >/dev/null 2>&1
fi
fi
done

unset i
unset pathmunge

PATH=/usr/local/webserver/php/bin:$PATH
export PATH



要是刚才的修改马上生效,需要执行以下代码


[root@CentOS ~]# source /etc/profile

这时再查看系统环境变量,就能看见刚才加的东西已经生效了


[root@CentOS ~]# echo $PATH
/usr/local/webserver/php/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

现在就能直接使用php命令了(而不是像之前写很长一串/usr/local/webserver/php/bin/php -v),例如查看当前php的版本


[root@CentOS ~]# php –v
PHP
5.3.8 (cli) (built: Jun 27 2012 14:28:20)
Copyright (c)
19972011 The PHP Group
Zend Engine v2.
3.0, Copyright (c) 19982011 Zend Technologies

方法二:在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。具体操作和方法1一样,这里就不在列举代码了。


方法三:直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】


在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。例如


export PATH=/usr/local/webserver/php/bin:$PATH

赞(0) 打赏
转载请注明出处:服务器评测 » CentOS修改系统环境变量
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏