环境变量详解

ShellBeginner
立即练习

简介

想象一下,你搬进了一间新办公室。办公桌有固定的高度,名牌上写着你的名字。在 Linux 中,「环境变量」就像这些设置一样,用于保存当前会话的信息。

你运行的每个程序都可以读取这些变量,以决定自身的运行方式。

正是这些不易察觉的机制,让 Shell 会话具有个性化特征。程序通常会通过读取 Shell 传递的变量,了解当前用户、主目录位置、应使用的语言,以及查找工具的方式。

在本实验中,你将学习如何:

  • 输出逻辑变量的值。
  • 确定正在使用的 Shell 程序。
  • 列出所有活动设置。

输出用户信息($USER)

变量就像一个贴有标签的盒子。盒子的名称是(USER),值是(labex)。

要查看变量的值,可以将美元符号 $ 与 echo 一起使用。$ 就像打开盒子的钥匙。

更准确地说,Shell 看到 $USER 后,会在运行命令之前将其替换为变量中存储的值。这种替换行为正是变量在 Shell 操作中非常有用的原因之一。

输入以下命令,查看当前用户:

echo $USER

输出:

labex

你也可以将文本与变量组合起来:

echo "Hello, $USER"

输出:

Hello, labex

这样可以让命令更加灵活。Hello, $USER 对任何用户都适用。

输出 Shell 信息($SHELL)

Shell 是你输入命令的程序,负责解释你输入的命令。

不同的 Shell 使用略有不同的「方言」(例如 Bash、Zsh 等)。

因此,环境详细信息非常重要。Shell 不只是一个空白的命令行提示符;它本身是一个具有独立配置、语法习惯和启动行为的程序。

检查当前使用的 Shell:

echo $SHELL

输出:

/usr/bin/zsh

你当前使用的是 Zsh。在其他系统上,可能会看到 /bin/bash。

列出所有变量(env)

要查看环境的整体信息,请使用 env。

该命令会列出当前会话中设置的所有环境变量。

这很有用,因为 Shell 会话不仅包含你输入的命令,还会携带程序自动继承的后台上下文信息。

env

你将看到一大段文本:

HOSTNAME=labex-instance
PWD=/home/labex/project
HOME=/home/labex
LANG=en_US.UTF-8
...

注意以下有用的变量:

  • PWD:当前目录。
  • HOME:你的主目录。
  • LANG:语言设置。

总结

在本实验中,你初步了解了 Linux 环境。你学习了以下内容:

  • 变量是容器:变量可以保存用户名或偏好设置等信息。
  • $ 键:使用美元符号(例如 $USER)可以读取变量中的值。
  • Shell:你使用的界面(/bin/zsh 或 /bin/bash)由 $SHELL 变量定义。
  • 环境:使用 env 命令可以查看系统设置的完整列表。

这些概念是 Linux 配置的基础。在后续实验中,你将学习如何创建自己的变量,以及如何改变系统的行为!