这个小程序适合初学者在学习 Linux 进程时,对这部分知识的复习巩固。尤其是 exec
系和 wait
系 函数的应用。
就像题目说的那样,这是一个简易的 shell,以后有机会可能会出功能比较全面的 shell,敬请期待~
1. 功能演示
视频讲解:https://b23.tv/wK5Iys
2. 源码分享
1. 处理输入
我们在使用 shell 时,肯定会输入很多数据,我们先获取输入的数据,将其保存在一个缓冲区中。
int get_input(char buf[]){
int ret, ch;
memset(buf, 0x00, BUFFSIZE);
// %*c 用来回收正常输入命令后面的回车键
// 如果只输入回车键,因为 scanf 的第一个参数就不匹配,scanf 直接返回,回车键不会被处理
ret = scanf("%[^\n]%*c", buf);
// 处理只输入回车的情况
// 添加 if 判断时处理输入 空格加回车的情况
if(ret == 0){
ch = getchar();