From 32de03a35198e1390f1c26ac2a7cfb6389d18253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E5=AD=90=E6=9D=B0?= <3152890143@qq.com> Date: Tue, 18 Jun 2024 23:43:06 +0800 Subject: [PATCH] zzj --- ...7\345\242\203\345\217\230\351\207\217).md" | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 "07\351\203\221\345\255\220\346\235\260/2024\345\271\26406\346\234\21018\346\227\245\347\254\224\350\256\260-linux\345\237\272\347\241\20017(\347\216\257\345\242\203\345\217\230\351\207\217).md" diff --git "a/07\351\203\221\345\255\220\346\235\260/2024\345\271\26406\346\234\21018\346\227\245\347\254\224\350\256\260-linux\345\237\272\347\241\20017(\347\216\257\345\242\203\345\217\230\351\207\217).md" "b/07\351\203\221\345\255\220\346\235\260/2024\345\271\26406\346\234\21018\346\227\245\347\254\224\350\256\260-linux\345\237\272\347\241\20017(\347\216\257\345\242\203\345\217\230\351\207\217).md" new file mode 100644 index 0000000..d4a8c03 --- /dev/null +++ "b/07\351\203\221\345\255\220\346\235\260/2024\345\271\26406\346\234\21018\346\227\245\347\254\224\350\256\260-linux\345\237\272\347\241\20017(\347\216\257\345\242\203\345\217\230\351\207\217).md" @@ -0,0 +1,53 @@ +# linux环境变量 + +### 1. 环境变量的类型和作用 + +- **用户级别环境变量**: + - 存储在用户家目录的个人配置文件中,例如 `~/.bashrc`、`~/.profile`。 + - 用于定义**用户个性化**的Shell设置,如别名、路径等。 + +- **系统级别环境变量**: + - 存储在系统范围的配置文件中,如 `/etc/environment`、`/etc/profile` 。 + - 为**所有用户和系统服务**提供全局的环境设置。java_home + +### 2. 环境变量的加载顺序和文件 + +- **系统启动加载**:/etc/environment + +- **登录Shell加载顺序**: + - 首先加载 `/etc/profile`,然后根据用户登录方式加载 `~/.profile`(存在性依次加载)。 + - 非登录shell: su 切换用户 等 source + +- **交互式Shell加载顺序**: + - 加载 `~/.bashrc` 或类似文件,用于设置用户个性化的Shell环境。 + - 不同的shell加载不同的文件,bash才加载.bashrc,zsh加载.zshrc + - 交互式:提供命令行窗口,非交互式:直接写在脚本里 +- **总结来说** + - 配置文件的理论加载顺序通常是 `/etc/environment` > `/etc/profile` > `~/.profile` > `~/.bashrc`。【实验】 + +### 3. 设置环境变量的方法 + +​ 设置变量的位置:命令行(临时),脚本文件(永久) + +### 4. 常用环境变量 + +**系统级** + +* `PATH` 可执行文件的搜索路径 +* `LANG` 定义系统的语言环境和字符集, export LANG=zh_CN.utf8,编辑文件不乱码 +* `LANGUAGE` 用于设置消息语言的优先级 ,提示语言为中文 +* `EDITOR` 默认文本编辑器 editor + +**用户级** + +* **`HOME`** :当前用户的主目录。 +* **`USER`**:当前用户名。 +* **`UID`**:当前用户的用户ID。 +* **`SHELL`**:当前用户的默认Shell。 + +### 5. 临时变量与环境变量 + +定义一个变量时,在变量名前加了export关键字,就是环境变量,作用域是全局环境子子进程中也有效,否则就是临时变量,只在当前脚本文件或shell中有效。 +**临时变量**:在脚本中定义但不导出的变量仅在脚本执行期间有效,不会影响其他 shell 会话或子进程。 + +**环境变量**:使用 `export` 导出的变量在当前 shell 会话和所有子进程中都有效 \ No newline at end of file -- Gitee