diff --git "a/30 \351\231\210\345\246\203/20240618 \347\273\203\344\271\240.md" "b/30 \351\231\210\345\246\203/20240618 \347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..119973166ab2b8a9a1c52d2e08cd8b12518d4b8d --- /dev/null +++ "b/30 \351\231\210\345\246\203/20240618 \347\273\203\344\271\240.md" @@ -0,0 +1,135 @@ +``` +用户级别环境变量 + - 存储在用户家目录的个人配置文件中,例如 ~/.bashrc、~/.profile + - 用于定义用户个人的Shell设置,如别名、路径等。针对不同用户单独设置 + +系统级别环境变量: + - 存储在系统范围的配置文件中,如 /etc/environment、/etc/profile + +环境变量加载顺序 +/etc/environment,一开源就加载,不会显示出来 +登录shell先加载 /etc/profile,然后根据用户登录方式加载 ~/.profile +一般情况下是 /etc/environment > /etc/profile > ~/.profile > ~/.bashrc + +临时环境变量的设置: +MY_AGE=18 只有当前用户可以使用,换一个就用不了 +export MY_AGE=18 全局的,整个环境都可以用 +没有写在文件里面,这两个都是纯命令行,都是临时变量,关掉shell就不生效了 + +永久环境变量的设置要写在相应的文件里面 +用户级的写在~/.bashrc 或 ~/.profile 文件里面 +用户级的需要写上 export,重启系统后自动生效 + +系统级别的写在/etc/environment 或 /etc/profile 文件里面,系统级别的不需要写export命令,重启后自动生效 +``` + +### 练习题 1: 显示当前所有的环境变量 + +- 使用`printenv`或`env`命令来显示所有的环境变量。 + +``` +printenv +或 +env +``` + +### 练习题 2: 显示`HOME`环境变量的值 + +- 使用`echo`命令和`$`符号来显示`HOME`环境变量的值。 + +``` +echo $HOME +``` + +### 练习题 3: 临时设置一个新的环境变量 + +- 设置一个名为`MY_AGE`的环境变量,并将其值设置为`18`。 + +``` +MY_AGE=18 +``` + +### 练习题 4: 显示新设置的环境变量 + +- 使用`echo`命令来显示`MY_AGE`的值。 + +``` +echo $MY_AGE +``` + +### 练习题 5: 在新的shell会话中检查环境变量 + +- 打开一个新的终端窗口或标签页,并尝试显示`MY_AGE`的值。你会看到什么?为什么? + + ``` + 刚定义的MY_AGE环境变量没有生效,因为它是定义在当前窗口,也不是全局变量,所以新的窗口不生效 + ``` + +### 练习题 6: 修改`PATH`环境变量 + +- 将`你当前用户的家目录`添加到你的`PATH`环境变量的末尾位置 + +``` +export PATH=$PATH:/home/shi02 +``` + +将`/tmp`添加到你的`PATH`环境变量的开始位置,(注意:这可能会覆盖其他路径中的同名命令,所以请谨慎操作)。 + +``` +export PATH=/tmp:$PATH +``` + +### 练习题 7: 验证`PATH`的修改 + +- 使用`echo`命令显示`PATH`的值,并确认`前面添加的目录`已经被添加到对应位置。 + +``` +echo $PATH +``` + +### 练习题 8: 永久设置环境变量 + +- 在你的shell配置文件中(如`~/.bashrc`、`~/.bash_profile`、`~/.zshrc`等,取决于你使用的shell和配置)添加一行来永久设置`MY_NAME`,值设置为`奥德彪`。 + +例如,对于bash shell,你可以使用: + +``` +echo 'export MY_NAME="奥德彪" ' >> ~/.bashrc +``` + +如何让`MY_NAME`生效,并验证 + +``` +source ~/.bashrc +echo MY_NAME +``` + +练习题 9: 清理 + +- 清除你之前设置的`MY_AGE`和`PATH`的修改(如果你不想永久保留它们)。 + +``` +unset MY_NAME +清除PATH不会 +``` + +### 练习题 10: 修改默认器 + +- 使用`EDITOR`变量,修改你默认的编辑器为nano。 + +``` +export EDITOR=nano +``` + +### 练习题 11: 修改语言 + +- 使用`LANG`变量,让你的文件支持中文和utf8编码来避免乱码。 + +``` +export LANG=zh_CH.uft8 +``` + +- 使用`LANGUAGE`变量,让你的命令提示为中文 + +``` +export LANGUAGE=zh_CH.uft8