<操作系统>C语言实现 UNIX Shell功能及历史记录功能
发布时间
阅读量:
阅读量
目标:
1.达成基础shell指令的编写任务,并判断其是否包含&(用于后台运行);
2.构建历史命令记录功能,支持通过!+num方式调用第num条指令,以及!!用于执行最近一次输入的命令。
实现思路:
1.获取用户输入的命令(以字符串形式),并将其拆分为命令与参数的组合:
可借助系统库函数strtok()进行分割,strtok()详情;
采用字符指针数组args来保存各个部分,需特别注意在数组末尾设置为NULL。
p = strtok(str," ");
while(p){
args[i] = p;
p = strtok(NULL," ");
i++;
}
args[i] = NULL;
命令及对应参数被依次存储至args数组内,其中args[0]用于存放命令本身,其余元素则为相关参数。
- 构建一个持续运行的while循环结构,借助fork()系统调用生成子进程,fork()的使用方式为:[fork(
全部评论 (0)
还没有任何评论哟~
