环境变量主要分为
1 默认载入(如/etc/profile)
2 临时修改的(如 export PATH=)
临时修改的比较简单,就是修改当前的环境变量值,顾名思义作用时间是临时的。
默认载入的又分为
1 全局的 如/etc/profile
2 当前用户 如~/.profile
当前用户继承全局的变量,如相同变量不同值,则以最后一次设置为准。
全局(root)
/etc/profile:
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
/etc/bash_profile:
为每个用户都设置使用的shell信息,当用户第一次登录时,该文件仅仅执行一次
/etc/bashrc: linux
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,当登录时以及每次打开新的shell时,该文件被读取
当前用户
~/.bash_profile:
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取
.
~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件.
~/.profile 是在用户的主目录下的一个文件,每次用户登陆都会执行这里边的ENV环境变量设置。
/etc/profile是一个全局的环境变量设置,只要登陆系统的用户都会执行里面的ENV环境变量设置
~/.kshrc是在用户的主目录下面的,每次执行KSH下面的子shell的时候,都会执行这里面的ENV环境变量设置。
~/.dtprofile是在用户的主目录下面的,在这里设置你进入CDE时的一些变量设置,如果用户没有通过CDE进入过系统,那么将不会产生这个文件,只有用户曾经用CDE进入过系统后就会自动生成一个.dtprofile文件,然后还可以对里边的变量进行设置。。
如果在这个文件里的DTSOURCEPROFILE的变量设置为true则会读取用户瞩目路下的.profile文件里的变量设置,如果没有这个变量或者设置为false,那么将不读取.profile里的环境变量。
如果想让刚刚改变的.profile .kshrc里面的设置马上生效使用,可以使用以下的命令:
. ~/.profile
. ~/.kshrc
可用的/etc/profile文件:
trap "" 2 3
export LOGNAME PATH
PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/ccs/bin:/usr/sadm/admin/bin:/usr/local/ssl/bin:$PATH ;
export PATH
MANPATH=/usr/share/man:/usr/local/man ;
export MANPATH
LD_LIBRARY_PATH=/usr/local/lib ; e
xport LD_LIBRARY_PATH
EDITOR=/usr/bin/vi ;
export EDITOR
ulimit -n 8192
if [ "$TERM" = "" ]
then
if /bin/i386
then
TERM=sun-color
else
TERM=sun
fi
export TERM
fi
# Login and -su shells get /etc/profile services.
# -rsh is given its environment in its .profile.
case "$0" in
-sh | -ksh | -jsh | -bash)
if [ ! -f .hushlogin ]
then
/usr/sbin/quota
# Allow the user to break the Message-Of-The-Day only.
trap "trap '' 2" 2
/bin/cat -s /etc/motd
trap "" 2
/bin/mail -E
case $? in
0)
echo "You have new mail."
;;
2)
echo "You have mail."
;;
esac
fi
esac
umask 022
trap 2 3
1 默认载入(如/etc/profile)
2 临时修改的(如 export PATH=)
临时修改的比较简单,就是修改当前的环境变量值,顾名思义作用时间是临时的。
默认载入的又分为
1 全局的 如/etc/profile
2 当前用户 如~/.profile
当前用户继承全局的变量,如相同变量不同值,则以最后一次设置为准。
全局(root)
/etc/profile:
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
/etc/bash_profile:
为每个用户都设置使用的shell信息,当用户第一次登录时,该文件仅仅执行一次
/etc/bashrc: linux
为每一个运行bash shell的用户执行此文件.当bash shell被打开时,当登录时以及每次打开新的shell时,该文件被读取
当前用户
~/.bash_profile:
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取
.
~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件.
~/.profile 是在用户的主目录下的一个文件,每次用户登陆都会执行这里边的ENV环境变量设置。
/etc/profile是一个全局的环境变量设置,只要登陆系统的用户都会执行里面的ENV环境变量设置
~/.kshrc是在用户的主目录下面的,每次执行KSH下面的子shell的时候,都会执行这里面的ENV环境变量设置。
~/.dtprofile是在用户的主目录下面的,在这里设置你进入CDE时的一些变量设置,如果用户没有通过CDE进入过系统,那么将不会产生这个文件,只有用户曾经用CDE进入过系统后就会自动生成一个.dtprofile文件,然后还可以对里边的变量进行设置。。
如果在这个文件里的DTSOURCEPROFILE的变量设置为true则会读取用户瞩目路下的.profile文件里的变量设置,如果没有这个变量或者设置为false,那么将不读取.profile里的环境变量。
如果想让刚刚改变的.profile .kshrc里面的设置马上生效使用,可以使用以下的命令:
. ~/.profile
. ~/.kshrc
可用的/etc/profile文件:
trap "" 2 3
export LOGNAME PATH
PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/ccs/bin:/usr/sadm/admin/bin:/usr/local/ssl/bin:$PATH ;
export PATH
MANPATH=/usr/share/man:/usr/local/man ;
export MANPATH
LD_LIBRARY_PATH=/usr/local/lib ; e
xport LD_LIBRARY_PATH
EDITOR=/usr/bin/vi ;
export EDITOR
ulimit -n 8192
if [ "$TERM" = "" ]
then
if /bin/i386
then
TERM=sun-color
else
TERM=sun
fi
export TERM
fi
# Login and -su shells get /etc/profile services.
# -rsh is given its environment in its .profile.
case "$0" in
-sh | -ksh | -jsh | -bash)
if [ ! -f .hushlogin ]
then
/usr/sbin/quota
# Allow the user to break the Message-Of-The-Day only.
trap "trap '' 2" 2
/bin/cat -s /etc/motd
trap "" 2
/bin/mail -E
case $? in
0)
echo "You have new mail."
;;
2)
echo "You have mail."
;;
esac
fi
esac
umask 022
trap 2 3