环境变量
shell的环境变量作用于自身和它的子进程,每个进程都有其各自的环境变量,当一个进程被创建时,除了创建过程明确指定外,将继承其父进程的绝大部分环境变量。
变量的类型
- 当前shell进程私有用户定义的变量,只有当前shell生效
- shell本身内建的变量
- 从自定义变量导出的环境变量
变量的生命周期
-
永久的:需要修改配置文件,变量永久生效
/etc/profile 中配置的环境变量
每个用户目录下有个隐藏文件.profile #配置只在当前用户生效
/etc/bashrc #shell变量,可能么有
临时的:使用export命令声明,变量在shell关闭时失效。
执行一个shell命令时,系统会按照PATH中设置的路径按照顺序依次目录中查找,如果同名,执行先找到的。
每个用户的home目录中有一个shell每次启动都会默认执行的配配置文件。(在/etc下有多个全局的配置文件)
- zhs配置文件:.zshrc
- bash配置文件:.bashrc
echo "PATH=$PATH:dirpath" >>.zshr
命令
declare tmp # 创建变量
tmp = command # 变量赋值
echo $tmp # 显示变量
set # 显示所有变量
env # 显示与当前用户相关的环境变量
export # 显示从shell中导出的变量
zsh # 创建子进程
exit #退出
export tmp # 导出环境变量
unset tmp # 删除变量
# 如何让环境变量立即生效,
source .zshrc
# source 变量配置文件