大家好呀,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流哦!
本文由:残念ing原创CSDN首发,如需要转载请通知
个人主页:残念ing-CSDN博客,欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:[残念ing 的【Linux】系列专栏——CSDN博客]
实现一个自己的shell
1 步骤简化
1. 获取并且打印命令行提示符
2. 获取用户命令
根据输入流获取字符串函数接口
3. 分析命令(解析命令)
将字符串分离开的接口 ,当切成功了后返回地址,失败后返回null
补充:为了让其更好看增加
4. 执行命令
5 补充:
5.1 解决需要shell自己执行的内建命令
5.2 环境变量是需要自己去维护的,所以获取当前的路径不能去环境变量里面获取,要直接从系统里面获取
定义一个环境变量的pwd数组
5.3 作为一个shell,获取环境变量应该从系统的配置类,我们几天就直接从父shell中获取环境变量
怎么保证接下来我们的子进程使用myshell的环境变量
![](https://i-blog.csdnimg.cn/direct/c9210be00587444a8572f42ef3f4b195.png)
结果:
总结:
shell本质上就是一个进程,所谓的命令行参数,环境变量,就是shell内部的表(指针数据组),如果是表的话可以通过(env、expect…)这些命令会围绕着这张表来让shell来自主定义与维护这张表