591 words
2 minutes
Linux环境变量
1. 环境变量
1.1 概念
- bash shell 使用环境变量存储数据,便于程序或 shell 中的脚本访问。
- 环境变量分为两种:
- 全局变量
- 局部变量
1.2 全局环境变量
- 全局环境变量对于 shell 会话和子 shell 都可见。
- 使用
env或printenv命令可以查看全局环境变量。
$ printenv # 查看所有的全局环境变量
$ printenv HOME # 查看特定的环境变量,env 命令不支持
$ echo $HOME # 引用环境变量的值1.3 局部环境变量
- 局部环境变量只能在定义它的进程中可见。
set命令会显示某个进程设置的所有环境变量,包括全局变量、局部变量和用户定义变量。
$ set2. 用户定义变量
2.1 设置局部环境变量
- 在 shell 中可以直接赋值,设置自己定义的变量。
$ my_variable=hello # 变量名、等号、值之间没有空格$ echo $my_variable2.2 设置全局环境变量
- 全局环境变量对设置它的进程和子进程都可见。
- 先创建一个局部环境变量,再将其导出到全局环境。
- 子 shell 无法改变父 shell 中全局变量的值。
$ my_variable="I am Global now"$ export my_variable$ bash$ echo $my_variable3. 删除环境变量
- 使用
unset命令删除已存在的环境变量。
$ unset my_variable4. 设置 PATH 环境变量
- 在 shell 中执行外部命令时,必须从 PATH 环境变量记录的查找目录中找到对应程序。
- 因此需要将需要的程序目录添加到 PATH 环境变量中。
$ echo $PATH$ PATH=$PATH:/home/christine/Scripts- 也可以将当前目录直接加入 PATH,这样在当前目录下即可执行程序。
$ echo $PATH$ PATH=$PATH:.5. 系统环境变量
- 登录 Linux 系统并启动 bash shell 时,会在启动文件(环境文件)中查找命令程序。
- bash shell 对应的启动文件取决于启动 shell 的方式:
- 登录 shell
- 交互式 shell
- 非交互式 shell
5.1 登录 shell
- 登录 Linux 时,bash shell 作为登录 shell 启动,会读取 5 个启动文件:
/etc/profile$HOME/.bash_profile$HOME/.bashrc$HOME/.bash_login$HOME/.profile
/etc/profile是 bash shell 默认的主启动文件,每个用户登录时都会执行。- 其余四个文件提供用户专属的启动文件,通常只会用到其中一两个。
5.2 交互式 shell
- 如果 bash shell 不是在登录时启动的,就属于交互式 shell。
- 它不会访问
/etc/profile,只会检查$HOME/.bashrc。
5.3 非交互式 shell
- 系统执行 shell 脚本时使用的是非交互式 shell。
Share
If this article helped you, please share it with others!
Some information may be outdated
Related Posts Smart
1
shell程序
Linux shell 程序概念、父子 shell、进程列表、内建命令与外部命令的整理笔记。
2
Linux文件权限
Linux Linux 用户与用户组、账户文件、文件权限,以及 useradd、usermod、groupadd、chmod、chown 等常用操作命令的整理笔记。
3
模块与模块化编程
Python Python 模块的导入方式、模块别名与单独运行,以及包的定义、包索引和相对导入的整理笔记。
4
函数与函数式编程
Python Python 函数的定义与调用、形参与实参、作用域,以及 lambda 匿名函数的整理笔记。
5
L1.HTML语法
Web 用于测试。