1、变量
linux中的变量分为两类,用户(环境)变量和临时(本地)变量。环境变量存在于所有shell中。本地变量存在于当前shell中,所以本地变量中一定有环境变量。注意是shell不是用户,所以如果一个用户打开了多个shell,它们之间的非环境变量的本地变量是不能共享的。
(1)环境变量的设置过程如下
每一次用户登录时/etc/profile文件被读取,设置变量
然后读取用户空间相同功能的文件 ~/.bash_profile
用户每一次新打开shell时,/etc/bashrc,设置变量
然后读取用户空间的文件~/.bashrc 事实上,在用户推出系统时,还会读取并执行~/.bash_logout 注意,如果向永远修改环境变量,只能在上述文件中修改。重新登陆(根目录下文件)或者重新打开shell(用户目录下才会)才会生效,如果想要立即生效,请输入source使该文件立即生效
(2)环境变量的查看方法如下
set 查看所有本地变量
env 查看所有环境变量
export 查看所有导出为环境变量的本地变量
export 查看所有导出为环境变量的本地变量
(3)设置环境变量
set var=value 设置本地临时变量(不是环境变量)
export var=value 设置环境变量,注意,该环境变量存储在内存中,只为该session保留,也就是说,如果你新建一个终端,必然不会存在
上述两着的区别就是,第一种不能被子shell所继承(注意不是共享,指示继承),而第二种可以。 这里简单介绍以下子shell的概念,当shell执行某一个脚本时,系统便自动创建了了一个子shell。子shell用于父shell所有环境变量的拷贝。