Linux之自定义shell和C标准库函数

自定义shell和C标准库函数

  • 一.自定义xshell
    • 1.1main函数主体
    • 1.2获取用户信息以及命令串
    • 1.3判断命令串是否为空串
    • 1.4判断是否为重定向
    • 1.5分割命令串
    • 1.6判断是否为内建命令
    • 1.7执行命令
  • 二.自定义C标准库函数
    • 2.1mystdio.h
    • 2.2mystdio.c
    • 2.3main.c

一.自定义xshell

1.1main函数主体

在这里插入图片描述

在这里插入图片描述

1.2获取用户信息以及命令串

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.3判断命令串是否为空串

在这里插入图片描述

1.4判断是否为重定向

在这里插入图片描述
在这里插入图片描述

1.5分割命令串

在这里插入图片描述

在这里插入图片描述

1.6判断是否为内建命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我将其中使用的chdir,getcwd,sprintf和putenv函数的手册内容也贴出来给大家
在这里插入图片描述

1.7执行命令

在这里插入图片描述

在这里插入图片描述

二.自定义C标准库函数

2.1mystdio.h

在这里插入图片描述

2.2mystdio.c

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3main.c

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/10828.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

TeamTalk知识点梳理一(单聊)

文章目录 db_proxy_serverdb_proxy_server reactor响应处理流程连接池redis连接池MySQL连接池 单聊消息消息如何封装?如何保证对端完整解析一帧消息?协议格式?单聊消息流转流程消息序号(msg_id )为什么使用redis生成&a…

带跳转功能的电子产品目录如何制作?

​在数字化时代,电子产品已成为我们生活和工作中不可或缺的伙伴。为了方便用户快速查找所需产品,带跳转功能的电子产品目录应运而生。本文将详细介绍如何制作一个高效便捷的带跳转功能电子产品目录,让用户轻松实现产品查找、筛选和购买。 1.要…

从0开始linux(26)——动静态库

欢迎来到博主的专栏:从0开始linux 博主ID:代码小豪 文章目录 如何写一个静态库动态库动静态链接 c/c程序形成可执行程序,需要经过三个步骤,编译、汇编、链接三个步骤,我们之前做链接时,使用的方法是将头文件…

hexo 搭建个人博客网站

hexo搭建个人博客 文章目录 hexo搭建个人博客摘要搭建网站的前置工具WebStormHexo Hexo配置初始化本地运行 主题更改安装butterfly主题 正式上线GitHub Pages配置新建仓库SSH密钥配置 将hexo部署到GitHub 个性化设置后续网站更新内容分类和标签设置分类(categories&…

BLDC基础知识复习【二】

如果采用20毫欧的电流采样电阻,10A的电流计算出来时0.2V,这个显然还是太小了,需要运放放大并且加上偏置: 6组换向程序: 最核心的控制逻辑在这里:在main.c里面对PWM占空比进行设置,通过一个指针在…

1130 - Host ‘10.0.0.1‘ is not allowed to connect to this MySQL server

1130 - Host 10.0.0.1 is not allowed to connect to this MySQL server 一、1130 - Host 10.0.0.1 is not allowed to connect to this MySQL server二、1130 - Host 10.0.0.1 is not allowed to connect to this MariaDB serverendl 一、1130 - Host ‘10.0.0.1’ is not all…

构建智慧城市:数字孪生技术的发展之路

基于数字孪生的智慧城市发展是一种革命性的城市转型模式,旨在将物理世界与数字世界融合,在数字平台上建立城市的虚拟映像,从而实现对城市运行状态、资源利用、环境影响等方面的综合管理和优化。这种发展模式将数字技术深度融入城市规划、建设…

金融行业信息流投放方法论及金融客户投放案例

失血2024,金融行业进入“极寒”,广告投放也不例外。 受金融政策管控,在渠道投放受限也颇多,创意文案及素材上审核异常严格,整体投放成本高…… 金融理财信息流广告投放,如带着“镣铐”跳舞,束…

Unity-Yaml-Dot-Net诗歌篇-如何像雷总学习写代码像诗歌-MVC 框架,+注入Inject +状态机生命周期

我们是否可以像雷总一样 大家都说他的代码,像诗一样优雅 一个MVC 框架,加注入 (以下内容其实和雷总没什么关系,也和雷总当年代码毫无关系,不过先“阅读理解”一下) 雷总-写的代码像似一个优雅??!!^^ R…

安卓好软-----电脑端查看apk全部信息的工具 查看包名 名称以及权限等等

有时候从网络下载的应用很多是英文。时间久了会忘记到底是什么apk应用。这款工具可以方便的查看apk应用的名称 包名以及各种权限 图标 大小版本号等等。方便用户随时查看 APK Helper能够详细地获得安装包名、软件名称、APK证书、真实版本号、要求的手机版本、系统权限、以及证书…

分布式唯一ID生成(四):tinyid

文章目录 本系列前言号段模式多DB支持tinyid-client 本系列 漫谈分布式唯一ID分布式唯一ID生成(二):leaf分布式唯一ID生成(三):uid-generator分布式唯一ID生成(四):tiny…

JavaWeb:文件上传2

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

April tag坐标定义

朝右的方向为x轴正向, 朝下的方向为y轴正方向, z 轴垂直纸面向里。 4个角点的坐标定义如下图所示。

江行智能×图扑软件:输煤皮带数字孪生管控系统

在现代矿业和电力行业中,输煤皮带系统是运输环节的核心。然后,随着智能化生产的高要求,智慧矿山输煤皮带系统的传统管理模式已显得力不从心。产业引入的三维可视化和数字孪生技术,一改传统输煤皮带系统由于设备老化、管理不善等原…

【Python】从入门开始抓取你想要的电影,一周可掌握基础,附完整源码

Python学习很简单,只是你走进了误区。 为什么你一定要先掌握枯燥的基础点后,再去做实际操作呢? 其实,你根本坚持不了那么长时间,但实际上你可以直接去做python项目。 不信?看看我做这个项目的思路&#x…

【C++】map和set的介绍及使用

前言: map和 set 是 C STL(标准模板库)中的两种非常重要的容器,它们基于一种叫做平衡二叉搜索树(通常是红黑树)的数据结构来实现。在 C 中,map 是一个键值对容器,set 只存储唯一的键…

NumPy 数组属性

1.NumPy 数组的基本属性 NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。NumPy中,每个线性的数组称为轴(axis…

Spring源码(十二):Spring MVC之Spring Boot

本篇将详细讨论Spring Boot 的启动/加载、处理请求的具体流程。我们先从一个简单的Spring Boot项目日志开始分析(这里假设读者已经仔细阅读完了前面的文章,且对Spring源码有一定深度的了解,否则会看得一脸懵逼)。 本文为2024重置…

游戏引擎学习第四天

视频参考:https://www.bilibili.com/video/BV1aDmqYnEnc/ BitBlt 是 Windows GDI(图形设备接口)中的一个函数,用于在设备上下文(device context, DC)之间复制位图数据。BitBlt 的主要用途是将一个图像区域从一个地方复…

双指针算法的妙用:提高代码效率的秘密(2)

双指针算法的妙用:提高代码效率的秘密(2) 前言: 小编在前几日讲述了有关双指针算法两道题目的讲解,今天小编继续进行有关双指针算法习题的讲解,老规矩,今天还是两道题目的讲解,希望…