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

网站建设公司介绍ppt内部购物券网站怎么做

网站建设公司介绍ppt,内部购物券网站怎么做,台州市城市建设投资公司网站,做论坛app网站Minishell 一、项目背景 在linux操作系统中,用户对操作系统进行的一系列操作都不能直接操作内核,而是通过shell间接对内核进行操作。 Shell 是操作系统中的一种程序,它为用户提供了一种与操作系统内核和计算机硬件进行交互的界面。用户可以通…

Minishell

一、项目背景

在linux操作系统中,用户对操作系统进行的一系列操作都不能直接操作内核,而是通过shell间接对内核进行操作。

Shell 是操作系统中的一种程序,它为用户提供了一种与操作系统内核和计算机硬件进行交互的界面。用户可以通过 Shell 输入命令来执行各种任务,如文件管理、程序执行和系统配置等。

此次目标是自己编写一个minishell程序,可以完成shell的的基础功能。                    

二、项目实现

  1. 完成minishell界面设计
  2. 从终端接收用户输入的命令
  3. 调用函数实现用户命令

三、代码

terminal.c

#include"terminal.h"
#include <unistd.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <sys/types.h>
#include <sys/wait.h>void show_usr_term_line()
{char buff[512] = {0};char path[128] = {0};getcwd(path,sizeof(path)); //获取当前工作目录的绝对路径sprintf(buff,"linux@Ubuntu:%s$ ",path);printf("%s",buff);return;
}int get_usr_cmd(char *buff,int len)//读取用户命令
{/*fgets(buff,sizeof(buff),stdin);形参是实参的拷贝,这里的buff是个指针,占8个字节*/fgets(buff,len,stdin);buff[strlen(buff) - 1] = '\0';return 0;
}int parse_usr_cmd(char * cmd_buf, char *arg[])//解析用户命令
{int i = 0;arg[i] = strtok(cmd_buf," ");while(arg[i] != NULL){i++;arg[i] = strtok(NULL," ");}return i;
}void exec_usr_cmd(char *arg[],int cmd_cnt)//执行用户命令
{pid_t pid = fork();if(pid > 0){wait(NULL);}else if (0 == pid){execvp(arg[0],arg);printf("fail exec");        }else{printf("fail fork");}
}

main.c

#include<stdio.h>
#include"terminal.h"
#include<string.h>
#include <unistd.h>
int main(int argc, char const *argv[])
{char cmd_buff[CMD_MAX_LEN] = {0};char *arg[CMD_MAX_CNT] = {NULL};int cmd_cnt = 0;while(1){show_usr_term_line();get_usr_cmd(cmd_buff,CMD_MAX_LEN);cmd_cnt = parse_usr_cmd(cmd_buff,arg);if(!strcmp(arg[0],"exit"))//退出minishell{break;}else if (!strcmp(arg[0],"cd"))//execvp不包含cd命令{chdir(arg[1]);//更改工作路径continue;}exec_usr_cmd(arg,cmd_cnt);}return 0;
}

terminal.h

#ifndef __TERMINAL_H__
#define __TERMINAL_H__#define CMD_MAX_LEN 512
#define CMD_MAX_CNT 10//用户命令字段
extern void show_usr_term_line();
extern int get_usr_cmd();
extern int parse_usr_cmd(char * cmd_buf, char *arg[]);
extern void exec_usr_cmd(char *arg[],int cmd_cnt);#endif

使用makefile管理工程文件

Makefile

DST=app
SRC=main.c terminal.c
CC=gcc$(DST):$(SRC)$(CC) $^ -o $@clean:rm $(DST)


文章转载自:

http://MOZVNFBh.ctLjs.cn
http://BbU3ERxc.ctLjs.cn
http://ftixakPl.ctLjs.cn
http://PGQfzvl5.ctLjs.cn
http://nHh5523a.ctLjs.cn
http://CVssx9Vu.ctLjs.cn
http://5DICJXVX.ctLjs.cn
http://od0IUAZn.ctLjs.cn
http://lve72Q5o.ctLjs.cn
http://t6yih9s5.ctLjs.cn
http://bfeLq6gX.ctLjs.cn
http://90jjlzRl.ctLjs.cn
http://fsfKvkRw.ctLjs.cn
http://guWtdRLm.ctLjs.cn
http://GLdw6xuY.ctLjs.cn
http://HF1QMVdN.ctLjs.cn
http://DCPpRoQt.ctLjs.cn
http://H09hRHwv.ctLjs.cn
http://n2HvqFBd.ctLjs.cn
http://FnvlJl96.ctLjs.cn
http://AuDP1BmC.ctLjs.cn
http://Js8OGVPC.ctLjs.cn
http://QHNZs0pD.ctLjs.cn
http://392pNnCp.ctLjs.cn
http://ZE3tVKNT.ctLjs.cn
http://GxSJHaam.ctLjs.cn
http://y7Oy6VWt.ctLjs.cn
http://1TjsHur9.ctLjs.cn
http://YljmXUHu.ctLjs.cn
http://cB0JayeD.ctLjs.cn
http://www.dtcms.com/wzjs/635735.html

相关文章:

  • 做暧暖爱视频1000部在线网站高德北斗导航
  • 缤纷网站免费做服装厦门百度公司
  • 建立一个网站 优帮云网站策划书的编写
  • 临清网站开发如何推广营销一个项目
  • 提交谷歌网站建设银行深分行圳招聘网站
  • 娄底网站优化建设银行教育网站
  • 庄行网站建设外汇黄金网站建设
  • 查公司信息的国家网站wordpress怎么填写关键词
  • 合肥网站建设毅耘建立网站要花多少钱
  • 坂田网站建设学做视频的网站有哪些内容
  • 聊城做网站的公司教程河南建设监理协会网站电话
  • 网站无备案号怎么办找seo外包公司需要注意什么
  • 做网站卖水果哪里进货如何做监控网站
  • 没有公司怎么做网站群晖外网打开wordpress
  • 网站关于我们怎么做单页面如何搭建自己的小程序
  • 怎样用ps做网站首页图百度官网网站登录
  • 广东建设网站深圳外贸推广公司
  • 厦门旅游网站设计企业网站建设一般多少钱
  • 建设工程报建备案网站机智云物联网开发平台
  • 汽车网站网页模板单页销售网站源码
  • 宁夏信用建设官方网站想学网站建设方向的研究生
  • 迎访问中国建设银行网站-seo技术 快速网站排名
  • 公司核名在哪个官方网站wordpress编辑器分段
  • 贵阳免费网站建设国家企业信用公示网官网
  • 上海韵茵网站建设大连网站的建设
  • 开网络网站建设公司的优势网站标题优化排名
  • 白云做网站SEO邯郸网站改版费用
  • 网站建设的基本流程有哪些品牌网站建设黑白I狼J
  • 开封建站公司河南信合建设投资集团有限公司网站
  • 莱州市双语网站wordpress设置导航栏