这门中级课程帮助你把熟悉的 Shell 命令组合成可复用的 Bash 程序。通过 6 个引导式实验,你将创建可执行脚本,接收交互式和参数输入,根据系统条件分支,使用循环重复任务,响应命令状态,并保留带时间戳的执行历史。
最终挑战会把这些基础组合成 onboard.sh 工具:验证唯一用户名参数、避免重复账户、创建使用 Bash 的用户及其有正确所有权的工作目录,并把成功操作写入审计日志。
你将学到什么
- 使用 Shebang 编写 Bash 脚本,赋予执行权限并通过
./运行 - 在变量中保存值,并使用
read或位置参数$1接收输入 - 使用
if和else检查文件是否存在及数字用户身份 - 使用
for循环遍历数字范围和文件名通配符 - 使用
while循环在数字条件成立时重复执行 - 在命令后立即检查
$?,并在操作失败时进入条件分支 - 向绝对路径日志追加消息和时间戳,同时保留已有历史
- 构建带参数验证、目录所有权和审计日志的账户配置脚本
本课程适合谁
本课程适合已经理解终端命令、文件、权限、变量和重定向,并希望把它们组合成小型 Bash 管理脚本的 Linux 用户。
前置要求: 熟悉终端导航、文件操作、Nano 或其他编辑器、Shell 变量、通配符、命令替换、重定向、权限和 sudo。
学习环境: LabEx 提供的 Ubuntu 环境终端,包含 Bash、可编辑项目脚本、准备好的测试文件,以及用于创建挑战专用本地账户的隔离管理权限。
常见问题
课程如何组织?
前 6 个实验提供引导式脚本练习。第 7 项是提示较少的挑战,你会逐步构建并测试一个可执行的 onboard.sh 程序。
Scheduling 实验会配置 Cron 或其他调度器吗?
不会。它通过向绝对路径日志追加消息和 date 输出,为无人值守运行准备脚本,再手工模拟多次运行。Cron 配置在其他课程中讲解。
最终脚本会对系统进行哪些修改?
在隔离实验中,它使用 sudo useradd -m -s /bin/bash 创建真实的本地测试账户,创建 /home/<username>/work 并把所有权交给该用户,然后追加 ~/project/onboard.log。
错误处理会深入到什么程度?
课程通过 $?、非零 exit、参数数量检查,以及命令失败或用户已存在时的条件处理介绍退出状态,但不涉及 Trap、set -euo pipefail、清理处理或事务回滚。





