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