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

自己做网站自己做推广教程视频教程汕头百度seo在哪里

自己做网站自己做推广教程视频教程,汕头百度seo在哪里,ps做网站首页步骤,商标查询系统官网目录 1.实现逻辑 2.代码及效果展示 1.打印字符串提示用户输入指令 2.父进程拆解指令 3.子进程执行指令,父进程等待结果 4.效果 3.实现过程中遇到的问题 1.打印字符串的时候不显示 2.多换了一行 3.cd路径无效 4.优化 1.ll指令 2.给文件或目录加上颜色 代码链接 模…目录 1.实现逻辑 2.代码及效果展示 1.打印字符串提示用户输入指令 2.父进程拆解指令 3.子进程执行指令,父进程等待结果 4.效果 3.实现过程中遇到的问题 1.打印字符串的时候不显示 2.多换了一行 3.cd路径无效 4.优化 1.ll指令 2.给文件或目录加上颜色 代码链接 模拟实现shell程序 所用知识 1.基础的C语言知识,fgetsfflush刷新缓冲区 2.字符串相关的函数:strtok 3.进程的创建fork进程的等待waitpid 进程的替换exec*函数 进程的终止(exit) shell运行原理 父进程等待解析指令子进程执行指令 1.实现逻辑 shell需要一直等待用户输入指令然后执行指令因此写一个死循环 1.打印出字符串[zylocalhost myshell]# 提示用户输入信息     --使用fflush刷新缓冲区 2.父进程分析指令     --定义一个字符数组cmd来存放完整的指令(使用fgets函数将命令读取到字符数组cmd中)     --定义一个字符指针数组来存放拆解后的指令(使用strtok函数将其拆解)     --创建子进程执行指令然后阻塞等待执行的结果 3.子进程执行指令     --调用execvp函数执行拆解好的指令 2.代码及效果展示 --预备工作 --定义一个字符数组cmd来存放完整的指令(使用fgets函数将命令读取到字符数组cmd中) --定义一个字符指针数组来存放拆解后的指令(使用strtok函数将其拆解) --定义一个分割符(使用#define定义SEP为空格) 1.打印字符串提示用户输入指令 19 //1.打印字符串,提示用户输入指令 20 printf([zylocalhost myshell]# ); 21 fflush(stdout); 22 memset(cmd,\0,sizeof(cmd));//初始化 23 24 if(fgets(cmd,sizeof(cmd),stdin)NULL) continue;//读取用户输入的指令若输入为NULL直接跳过 25 cmd[strlen(cmd)-1] \0;//由于是从键盘读取,会读取到\n我们将其置为\0 --fflush是用来刷新缓冲区的 --memset将cmd数组初始化也清除了上一次输入的指令 --fgets函数参数char *strint num FILE* stream 1.存储从输入流中读取的字符串  2.读取的最大字符数  3.从那读 2.父进程拆解指令 代码 27 //2.拆解指令,放进g_argv中,后面调用execvp的时候直接传递 28 int index 0; 29 g_argv[index] strtok(cmd,SEP); 30 while(g_argv[index]strtok(NULL,SEP)); --strtok参数char* str , const char *strDelimit  (要分割的字符串用来分割的字符) 第一次调用后下一次还要继续分割这个字符传递NULL即可它会记录分割点的位置 3.子进程执行指令,父进程等待结果 4.效果 3.实现过程中遇到的问题 1.打印字符串的时候不显示 字符串不显示 使用fflush刷新缓冲区即可 效果 2.多换了一行 代码 这里可以看到多换了一行 原因fgets从键盘读取数据会把\n也读进cmd中我们需要把\n置为\0 方法cmd[strlen(cmd)-1] \0;  strlen遇到\0就不在计数了通过其找到\n的位置 效果 3.cd路径无效 原因 1.子进程是父进程的一份拷贝,直接用pwd显示的路径就是父进程的路径 2.如果使用cd指令,exec函数执行完就退出了,再执行pwd就是重新调用,父进程会生成一个新的子进程, 显示的是父进程的路径 解决加一个判断如果是cd命令直接使用chdir改变当前父进程的路径 33 if(strcmp(g_argv[0],cd)0)//特殊处理一下cd指令34 {35 if(g_argv[1]!NULL) chdir(g_argv[1]); 36 continue;37 }解决 4.优化 1.ll指令 解决特殊处理一下 32 if(strcmp(g_argv[0],ll)0)//特殊处理一下ll指令33 {34 g_argv[0] (char*)ls;35 g_argv[index] (char*)-l; 36 }原来 解决 2.给文件或目录加上颜色 思路特殊处理 这是ls加上颜色的指令 代码 32 if(strcmp(g_argv[0],ls)0)//特殊处理ls指令为其加上颜色33 {34 g_argv[index] (char*)--colorauto;35 }36 37 if(strcmp(g_argv[0],ll)0)//特殊处理ll指令38 {39 g_argv[0] (char*)ls;40 g_argv[index] (char*)--colorauto;41 g_argv[index] (char*)-l;效果 代码链接 链接myshell · 朱垚/C与Linux实例 - 码云 - 开源中国 (gitee.com)
http://www.w-s-a.com/news/285855/

相关文章:

  • 网站建设资料准备网上购物app有哪些
  • 沧州做网站优化哪家公司便宜国内百度云网站建设
  • 网站的最近浏览 怎么做龙岩市人才网最新招聘信息
  • 网站建设需要找工信部吗网站开发账务处理
  • 做那种的视频网站个体工商网站备案
  • 推广网官方推广网站中国建设招聘信息网站
  • 医院网站建设需要多少钱网络营销渠道可分为哪几种
  • 怎么取网页视频网站元素计算机专业论文网站开发
  • 上海网站建设备案号怎么恢复wordpress打开页面空白
  • 30个做设计的网站企业设计网站
  • 招生网站开发的背景创意 wordpress
  • 网站备案资料查询小型企业管理系统软件
  • 温州网站建设维护怎么做好网站开发、设计
  • 佛山 做网站公司有哪些网站排名忽然不见了
  • 广告网站建设最专业东莞大朗网站设计
  • 网站做流量的论坛贴吧分销商城系统源码
  • 新手建立网站的步骤网站建设费怎么入分录
  • 哪里建网站性价比高做网站赚取广告费
  • 邢台集团网站建设价格微信怎么做捐钱的网站
  • 做网站费用需要分摊吗装修公司一般多少钱一平方
  • 公司主页的网站格式wordpress自动推送给百度
  • 网站建设辶金手指排名十二wordpress 当数据库
  • 无锡手机网站建设服务苏州展厅设计企业
  • 无锡网站制作需要多少钱北京二次感染最新消息
  • 网站开发视频播放无画面杭州房产信息网官网
  • 网站开发 改进如何创建公众号平台
  • wordpress网站响应很慢只有asp网站代码可以重新编译吗
  • 哪个网站教做饭做的好wordpress热点文章
  • 可以做推广东西的网站重庆网站建设 重庆网站制作
  • 珠海网站建设培训学校wordpress去版权 合法