- 操作系统接口:兼容Unix/Linux 命令接口3。(1-2 人,难度:5)
- 为Windows 操作系统建立一个兼容Unix/Linux 的shell 文件执行命令接口;
- 核心是实现.sh 格式文件的解读和执行
- 应该包括常用的shell 文件的流程控制语句,如顺序、循环和分支转移等,命令的内容与详细格式请查阅Unix/Linux 命令手册;
- 转义字符
\ - 通过
;换行 - 注释的识别与跳过
- 通过
ctrl+c结束语句执行或循环,但不结束shell - 通过命令行读入文件
- 添加
lscdpwd等内置命令
- 多层嵌套的if分支 - 通过栈实现
-
if-else的分支 - 通过定义几种有限的状态,识别当前状态是否合法实现 - 用
fi进行一个分支块的结尾 - 检测
fi的数量,并提示相关的信息(多/少了fi) - 通过栈实现 - 在
if块执行前就进行fi的检查(需要预先将所有内容读进内存)
- 存储变量以及值
- 将变量的存储结构改为链表或hash表,以便快速搜索
- 变量的更新
- 变量的设置与删除 - 可以将
set/unset设置为内置命令,检测到后转入固定程序 - 通过
$引用变量的值
- 循环语句是基于变量的,要先完成变量的支持
- 通过
ctrl+c结束循环,但不结束shell -
for/until等更高级语句的支持
- 上面那些未完成的功能
- 整理文件结构