简易版
【一】打印命令行
在原本的 shell 中,我们每次都可以看见如下的打印,等待你输入指令:

所以可以看到需要获取一些用户当前的环境变量信息,因为这里属于实现,所以我们选择函数调用的方式(getenv(),头文件#include<stdlib.h>)来获取环境变量(获取内容自己个性化设置):


【二】输入命令行
这里我们要开始输入命令行,在之前我们已经学了命令行的输入其实是一个个字符串,例如:
'ls' 'pwd' 'touch'等,我们每次输入都是输入的字符串,再根据空格去分割,我们使用 fgets():
函数原型:
char *fgets(char *str, int n, FILE *stream);
第一个参数:一个字符串指针,用来存放从流中读取到的字符串
第二个参数:最多读取的字符数
第三个参数:输入的文件流(
stdin:标准输入流,通常是键盘输入)
例如:
#define MAX 32
char str[MAX]; //命令获取
fgets(str,sizeof(str)-1,stdin); //注意去除用户输入的换行符
str[strlen(str)-1]='\0';
效果:将键盘输入的字符串存储到 str 里面,str 存储的类似:**'pwd ls rm'**这样的一整个字符串








