shell之环境变量

环境变量用于所有用户进程(子进程)。登录进程称为父进程。shell中执行的用户经常均为子进程。
环境变量可用于所有的子进程。包括编辑器,脚本和应用。
环境变量保存在
$HOME/.bash_profile
/etc/profile
1.设置环境变量
root@myubuntu:/home/myadmin# export Local1="shanghai zhabei"
查看
root@myubuntu:~# env |grep Local1
Local1=shanghai zhabei 2.设置成只读
root@myubuntu:~# readonly Local1
root@myubuntu:~# export Local1="abdad"
bash: Local1: readonly variable
3.另外一种设置方式
root@myubuntu:~# Local3="hangzhou"
root@myubuntu:~# export Local3
root@myubuntu:~# env |grep Local3
Local3=hangzhou
使用export可以使本地变量称为环境变量
4.set命令
可以在查看本地变量的时候同时查看的得到环境变量;代表了环境变量起作用的地方
反之则不行
root@myubuntu:~# set |grep Local*
Local1='shanghai zhabei'
#本地变量Local2
Local2=beijing
Local3=hangzhou
root@myubuntu:~# env |grep Local*
Local3=hangzhou
Local1=shanghai zhabei 5.unset命令
用法和本地变量的清除是一样的 6.环境变量本地变量区别
环境变量在切换了用户后(非登录shell),依旧有效
[root@mylinuxnew ~]# test10='sorghum'
[root@mylinuxnew ~]# export test10
[root@mylinuxnew ~]# echo $test10
sorghum
[root@mylinuxnew ~]# su user1
[user1@mylinuxnew root]$ echo $test10
sorghum
[user1@mylinuxnew root]$
登录shell方式,则当前用户的环境变量无效(相当于重新登录了shell,读取了登录用户的环境变量)
[root@mylinuxnew ~]# su user1
[user1@mylinuxnew root]$ echo $test10
sorghum
[root@mylinuxnew ~]# su - user1
[user1@mylinuxnew ~]$ echo $test10
[user1@mylinuxnew ~]$ 7.环境变量保存位置
/etc/profile
所有用户的环境变量都存在此处
$home/.bashrc
当前用户的环境变量都存在于此
如果让每次都使用环境变量,就需要把变量写到以上两个文件中,同时export出来
例如把java目录放到环境变量中:
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
标签: 变量环境shell
------分隔线----------------------------
· 首页 · 注册

百鸣[Baiming.org]欢迎您 百鸣[Baiming.org]欢迎您~