建设银行登录网站,晋州专业网站建设,什么行业应该做网站,深圳专业做网站专业公司自主实现一个shell--------minshell shell#xff1a;命令行解释器-------解释执行用户的输入#xff08;完成相对应的功能#xff09;
步骤
1. 获取标准输入中的字符串
2. 对字符串进行解析[ls -l -a][ls ] [-l ] [-a]
3. 创建子进程
4. 子进程中进行程序替换
5. 父进程…自主实现一个shell--------minshell shell命令行解释器-------解释执行用户的输入完成相对应的功能
步骤
1. 获取标准输入中的字符串
2. 对字符串进行解析[ls -l -a][ls ] [-l ] [-a]
3. 创建子进程
4. 子进程中进行程序替换
5. 父进程进行进程等待自主minshell实现
1. 获取标准输入
2. 解析输入得到【命令名】【运行参数】
3. 创建子进程子进程中进行程序替换
4. 进程等待-----避免僵尸进程又失败了匹配失败了缓冲区里如果只有一个回车取不出\n。
%[^\n] 从缓冲区取数据的时候遇到\n为止【ls -l】
经过这一步之后缓冲区中留下了\n但是\n取不出来导致scanf非阻塞
但又取不出来最后的\n字符
%*c 从缓冲区中取出一个字符丢弃如果他不是空白字符 isspace 判断是否是空白字符
取出了一个字符串。 contiune 为了避免解析失败一个回车没有获取到字符串还去向子进程创建命令。 wait避免真正的替换时子进程出现僵尸进程
完成了ls的功能