如何在 Linux 中进行 SHELL 基础实验?

文章导读
在 Linux 中进行 SHELL 基础实验,最稳妥的方式是在非生产环境的虚拟机或容器里操作,避免误删系统文件。适合新手在隔离环境中熟悉命令和脚本逻辑,重点在于安全练习和语法验证,建议养成备份习惯,执行前确认路径。
📋 目录
  1. 环境准备
  2. 推荐实验任务清单
  3. 验证与调试方法
  4. 常见错误复现与排查
A A

在 Linux 中进行 SHELL 基础实验,最稳妥的方式是在非生产环境的虚拟机或容器里操作,避免误删系统文件。适合新手在隔离环境中熟悉命令和脚本逻辑,重点在于安全练习和语法验证,建议养成备份习惯,执行前确认路径。

实验核心原则:

  • 环境:本地虚拟机、Docker 容器或测试服务器
  • 资料:基础命令手册和脚本语法规范
  • 安全:严禁在生产环境随意使用 rm -rf

环境准备

启动一台闲置虚拟机或创建 Docker 容器,确保没有重要数据。例如使用 Docker 快速创建实验容器:

docker run -it `--rm` ubuntu:latest /bin/bash

推荐实验任务清单

以下任务按难度递增,建议在脚本文件中进行,而非直接在命令行输入。

如何在 Linux 中进行 SHELL 基础实验?

1. 变量作用域实验

创建 test_var.sh,验证局部变量与环境变量的区别:

#!/bin/bash
NAME="Local"
export ENV_NAME="Global"
bash -c 'echo "Local: $NAME, Global: $ENV_NAME"'

预期结果:Local 为空,Global 显示值。

2. 条件判断空格实验

创建 test_if.sh,故意省略空格观察报错:

#!/bin/bash
if [ -d /tmp ]; then echo "Tmp exists"; fi
# 错误示范:if [-d /tmp]; then ... (会报错)

3. 循环逻辑实验

创建 test_loop.sh,实践 for 循环:

如何在 Linux 中进行 SHELL 基础实验?
#!/bin/bash
for i in 1 2 3; do
  echo "Number: $i"
done

验证与调试方法

观察终端是否有预期输出。执行完后输入 echo $?,返回 0 表示脚本正常结束,非 0 表示出错。还可以用 ls -l 确认文件是否生成或修改。

遇到逻辑问题时,使用 bash -x script.sh 开启调试模式,查看每一步的执行细节。

常见错误复现与排查

1. 空格敏感:[] 内部必须留空格,否则报错 command not found

如何在 Linux 中进行 SHELL 基础实验?

2. 路径问题:脚本中引用文件最好用绝对路径,避免工作目录变化导致失败。

3. 换行符:脚本必须在 Linux 格式下保存,Windows 换行符可能导致解释器找不到,报错 /bin/bash^M: bad interpreter

4. 权限不足:执行 ./test.sh 前需运行 chmod +x test.sh,否则提示 Permission denied。