当前位置: 首页 > article >正文

自主shell命令行解释器

获取我们的用户名,主机名,路径

env可以获取

1 2.输出命令行提示符获取用户输入的命令

这样我们可以实现打出命令行和获取用户输入的命令

1.1 优化:

格式化

我们使用PrintCommandPrompt()接口

打一次就结束了

而shell只有退出才会结束

1.2 我们进行修改

ctrl+c 退出

3. 命令行分析

把最后一个置为NULL,也就停止了

而后形成指针数组表

切割赋值

后置++,把NULL也统计进去了,所以我们要--

4. 执行命令

加上这三个

优化一下

优化一下pwd

pwd切割

cd这样的命令不能让我们的子进程去执行

5. 检测并处理内建命令

是进程的路径先变,然后更新环境变量

这里环境变量PWD都没变

我们这里就要修改代码

要调整更新一个新的环境变量

echo ?

获取环境变量

还要提供一张环境变量表


http://www.kler.cn/a/524149.html

相关文章:

  • android 音视频系列引导
  • 低代码产品表单渲染架构
  • windows lm studio 0.3.8无法下载模型,更换镜像
  • 蓝桥杯练习日常|c/c++竞赛常用库函数(下)
  • QT 笔记
  • 《STL基础之vector、list、deque》
  • HSM能为区块链、IoT等新兴技术提供怎样的保护?
  • fps一些内容添加
  • 构建 QA 系统:基于文档和模型的问答
  • [CISCN2019 华东南赛区]Web41
  • CTF-web: phar反序列化+数据库伪造 [DASCTF2024最后一战 strange_php]
  • 计算机毕业设计PySpark+hive招聘推荐系统 职位用户画像推荐系统 招聘数据分析 招聘爬虫 数据仓库 Django Vue.js Hadoop
  • 解决 Postman 报错一直转圈打不开
  • 2024年度技术总结——MCU与MEMS和TOF应用实践
  • Qt监控系统辅屏预览/可以同时打开4个屏幕预览/支持5x64通道预览/onvif和rtsp接入/性能好
  • 双层Git管理项目,github托管显示正常
  • springboot服务器端默认60秒超时的解决方法
  • leetcode_链表 234.回文链表
  • docker commit命令解析(将容器的当前状态保存为一个新的镜像)
  • AI如何革新工程建造物资管理
  • C#操作GIF图片(下)将一帧一帧的图片合并成gif
  • css 实现进度条和数字自增动画效果
  • C++:多继承习题3
  • 力扣【501. 二叉搜索树中的众数】Java题解
  • java.util.Random类(详细案例拆解)(已完结)
  • 面试经典150题——图