mobile wallpaper 1
mobile wallpaper 2
mobile wallpaper 3
mobile wallpaper 4
591 words
2 minutes
Linux环境变量
2026-10-18

1. 环境变量#

1.1 概念#

  • bash shell 使用环境变量存储数据,便于程序或 shell 中的脚本访问。
  • 环境变量分为两种:
    • 全局变量
    • 局部变量

1.2 全局环境变量#

  • 全局环境变量对于 shell 会话和子 shell 都可见。
  • 使用 env 或 printenv 命令可以查看全局环境变量。
$ printenv # 查看所有的全局环境变量
$ printenv HOME # 查看特定的环境变量,env 命令不支持
$ echo $HOME # 引用环境变量的值

1.3 局部环境变量#

  • 局部环境变量只能在定义它的进程中可见。
  • set 命令会显示某个进程设置的所有环境变量,包括全局变量、局部变量和用户定义变量。
$ set

2. 用户定义变量#

2.1 设置局部环境变量#

  • 在 shell 中可以直接赋值,设置自己定义的变量。
$ my_variable=hello # 变量名、等号、值之间没有空格
$ echo $my_variable

2.2 设置全局环境变量#

  • 全局环境变量对设置它的进程和子进程都可见。
  • 先创建一个局部环境变量,再将其导出到全局环境。
  • 子 shell 无法改变父 shell 中全局变量的值。
$ my_variable="I am Global now"
$ export my_variable
$ bash
$ echo $my_variable

3. 删除环境变量#

  • 使用 unset 命令删除已存在的环境变量。
$ unset my_variable

4. 设置 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!

Linux环境变量
https://kieas.cn/posts/linux-environment-variables/
Author
Kieas
Published at
2026-10-18
License
CC BY-NC-SA 4.0

Some information may be outdated

Table of Contents