前言
因为是一年前的实验,很多细节还有知识点我都已经遗忘了,但我还是尽可能地把各个细节讲清楚,请见谅。
1.实验目的
综合利用进程控制的相关知识,结合对shell功能的和进程间通信手段的认知,编写简易shell程序,加深操作系统的进程控制和shell接口的认识。
2.实验内容
可以使用Linux或其它Unix类操作系统,全面实践进程控制、进程间通信的手段,编写简易shell程序要求如下:
1. 学习Shell,系统编程,实现一个基本的Shell。
2. shell是Linux等系统中的一个命令解释器, 它接受输入的命令, 解释之后与操作系统进行交互. 在Linux终端Terminal输入的指令就是被shell接收的。在shell中实现输入输出。
3. 在自己编写的Shell中 实现bash的基本指令包括 cd ,ls 管道等指令
3.实验的内容与过程
实验前需要掌握的知识点:
在实验前,我们应该先明白shell有以下几个功能:
实现一个命令解析的程序
命令包含内部命令、外部命令和非法命令
内部命令包含:使用帮助的help命令,打印内容echo,目录切换cd,退出程序exit或q
外部命令包含:系统命令,在$PATH下的命令
非法命令:找不到的命令
Shell的工作流程主要如下:
①打印提示符:可参照bash提示符,如用户名@主机名,或者自定义提示符,如myshell >
②接收用户输入的命令:按行读取内容
③解析用户输入的命令:解析行内容,按照空格来分隔成字符串数组
④执行命令:执行命令并打印命令结果到终端
⑤循环第一步
初步框架:
根据shell的工作流程,我们不难得出代码的初步框架:
根据上述代码框架,我们先编写出自己的框架。