Shell 环境与变量

学习如何管理和定制您的 Shell 环境。本模块涵盖环境变量、PATH 变量、创建自定义变量、Shell 配置持久化以及命令替换技术。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

这门入门课程讲解 Shell 如何保存会话设置、查找命令、向子进程传递变量,以及加载持久化配置。你将通过 5 个引导式实验和 1 个最终环境设置挑战,查看已有变量,创建并导出自定义变量,对比 Zsh 与 Bash 的启动文件,并使用命令替换。

课程会明确区分临时 Shell 状态与启动时加载的设置。最终任务将这些知识用于一个实用的 Zsh 快捷操作:持久保存项目目录变量和别名,然后重新加载配置并验证结果。

你将学到什么

  • 查看常用环境变量,并使用 env 列出当前环境
  • 解释由冒号分隔的 PATH 条目如何引导命令查找
  • 使用 which 定位可执行文件,并通过 ./ 明确运行本地脚本
  • 创建、展开并导出自定义 Shell 变量,使其传递给 Bash 子进程
  • 在 ~/.zshrc 中添加并重新加载持久化设置
  • 通过在 ~/.bashrc 中添加对应设置,对比 Zsh 与 Bash 的配置
  • 使用 $() 嵌入格式化命令输出,创建以日期命名的目录
  • 持久保存并验证 PROJECT_DIR 变量和 goto_proj 导航别名

本课程适合谁

本课程适合能够输入基本命令和处理文件,并希望理解 Shell 会话与个人启动设置工作方式的 Linux 初学者。

前置要求: 具备基本的终端导航和文件编辑能力;无需 Shell 脚本经验。

学习环境: LabEx 提供的 Linux 终端,默认使用 Zsh,并提供 Bash 以便对比;你可以编辑个人启动文件,还会使用准备好的本地脚本和项目工作区。

常见问题

课程是引导式的吗,还是需要独立解决所有任务?

前 5 个实验提供分步引导。第 6 个是最终挑战,你需要运用所学编辑 ~/.zshrc、重新加载配置,并测试项目目录导航快捷方式。

本课程会修改 PATH 变量吗?

不会。你会查看 PATH,了解它如何控制命令查找,使用 which 定位程序,并理解为何要用 ./ 运行本地脚本,但不会更改 PATH。

我会使用哪些 Shell 启动文件?

引导式练习会同时使用 ~/.zshrc 和 ~/.bashrc,帮助你比较不同 Shell 的专属设置。最终挑战只在 Zsh 配置中持久保存变量和别名。

我会从头编写独立的 Shell 脚本吗?

不会。你会运行准备好的 hello.sh 文件并编辑 Shell 启动配置,但从头编写脚本不在本课程范围内。

教师

labby
Labby
Labby is the LabEx teacher.