实验一的目的是让学生熟悉Shell程序设计的基本概念和操作步骤,主要涵盖了以下几个知识点:
1. **Shell脚本创建与运行**:实验中通过`cat > new_script1`命令创建了一个新的Shell脚本,然后输入指令,如`echo`和`date`,来显示文件列表和当前日期。使用`ctrl + D`保存并退出编辑。通过`ls -l`查看文件权限,确保脚本具有执行权限。使用脚本名`./new_script`来运行脚本。
2. **Shell编程基础**:实验要求编写一个脚本,提示用户输入年份和月份,然后调用`cal`命令显示日历。这涉及到`read`命令用于接收用户输入,以及在脚本中使用变量存储这些输入,例如`read year`和`read month`。
3. **条件判断与逻辑控制**:实验要求编写一个程序,比较两个由用户输入的单词是否相同。这里使用了`if`和`test`命令进行条件判断。例如:
```bash
if test "$word1" = "$word2"; then
echo "Match"
echo "End of program."
else
echo "End of program."
fi
```
`if`后面的`test`命令用于比较两个字符串是否相等,相等则执行`then`后的语句,否则执行`else`后的语句。
4. **case结构**:实验还介绍了`case`结构,用于创建简单的菜单系统。例如,用户可以选择查看当前日期、登录用户、工作目录或目录内容。`case`结构根据用户输入的选项(a, b, c 或 d)执行相应的命令,如`date`, `who`, `pwd` 和 `ls`。
通过这个实验,学生能深入理解以下几点:
- **Shell程序流程控制**:包括如何使用`if`, `then`, `else`和`case`结构来控制程序流程。
- **Shell程序的运行方式**:了解如何创建、编辑、设置权限以及执行Shell脚本。
- **Shell程序调试**:通过错误信息,如`command not found`,学习如何调整脚本以避免问题。
- **Shell变量和特殊字符**:学习如何使用和测试变量,以及Shell中的特殊字符,如`$`用于引用变量值。
- **Shell编程技巧**:通过实际操作,掌握编写简单Shell程序的技能。
通过这样的实践,学生不仅掌握了基本的Shell编程技术,还对Linux环境下的Shell编程有了一定的了解,为进一步深入学习Linux系统打下了坚实的基础。