第十二课 linux 环境变量
一、 环境变量简介
linux 为什么需要环境变量
Linux 是一个多用户、多任务的操作系统。每个用户需要的用户环境可能都是不一样的,通过给不同的用户设置不同的环境变量来满足需求。
环境变量时 shell 变量的一种。
全局变量 和 环境变量
直接定义的变量属于全局变量,此变量只能在当前的 shell 进程中访问。其他进程以及 shell 子进程是不能访问的。通过 export 将全局变量导出成环境变量其他进程以及 shell 子进程才能访问此变量。
例子
创建变量:
asd=123
打印变量:
echo $asd
运行结果:
123
创建子进程:
/bin/bash
再次打印变量:
echo $asd
运行结果:
退出子进程:
exit
再次打印变量:
echo $asd
运行结果:
123
将全局变量装变为环境变量:
export asd
创建子进程:
/bin/bash
再次打印变量:
echo $asd
运行结果:
123
注:这种方法在其他 shell 进程无法访问
二、 shell 配置文件
shell 配置文件作用
在 shell 进程每次启用之前都会执行 shell 配置文件里面的代码来做一些初始化的工作。将 shell 变量放置在配置文件中,只要每次 shell 启动,就将定义 shell 变量。在
bash shell 配置文件
Linux 中默认的 shell 解释器是 bash。其配置文件主要是:
-
/etc/profile -
~/.bash_profile -
~/.bash_login -
~/.profile -
~/.bashrc -
/etc/bashrc -
/etc/bash.bashrc -
/etc/profile.d/*.sh
修改配置文件
全部用户、进程共享
路径:
/etc/bash.bashrc
例子1:
单个用户、全部进程共享
路径:
~/.bashrc
例子2:
-
输入命令:sudo vi .bashrc -
在文件最上方加入: #create variable
abc=123
-
重新打开终端 -
输入命令:echo $abc -
结果:123 -
切换用户:su user_name -
输入命令:echo $abc -
结果:
-
最后不要忘了将之前修改的文件该回去哦
shell 启动方式对变量的影响
新建文件linux_env_val.sh
新增代码:
#!/bin/bash
# create variable
abc=123
子shell进程中执行:/bin/bash和./
执行命令:
/bin/bash linux_env_val.sh
执行命令:
echo $abc
运行结果
执行命令:
./linux_env_val.sh
执行命令:
echo $abc
运行结果
当前进程中执行:source和.
执行命令:
source linux_env_val.sh
执行命令:
echo $abc
运行结果
123
执行命令:
. linux_env_val.sh
执行命令:
echo $abc
运行结果
123
|