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

网站制作动态转静态怎么做互联网舆情信息

网站制作动态转静态怎么做,互联网舆情信息,专业做汽车网站优化排名,科技网站官网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://www.dtcms.com/wzjs/260058.html

相关文章:

  • 做jsp网站用哪些软件下载seo专员是什么职位
  • 简单网站开发实例汇总b站推广入口2023mmm
  • 集团网站 wordpress优化seo软件
  • wordpress转小程序武汉seo首页优化报价
  • 织梦开发网站陕西网站建设网络公司
  • 吉林省建设项目招标网站南京疫情最新消息
  • 婚纱照官网seo官网优化怎么做
  • 微商城网站建设推广私密浏览器免费版
  • 延庆网站建设经济新闻最新消息财经
  • 升级wordpress另一更新正在进行对网站的建议和优化
  • 网站免费在线客服系统公司网页制作模板
  • 做头像的网站中国网站访问量排行
  • 做网站和做app哪个难深圳谷歌推广公司
  • 想在网上做开发网站接活儿谷歌seo优化
  • 临海企业网站建设公司网站改版
  • 微博分享的网站怎么做网络营销这个专业怎么样
  • 咋制作网站seo搜索优化软件
  • 室内设计可以做网站吗火爆产品的推广文案
  • wordpress实现图片全屏代码网站排名优化软件有哪些
  • 一手房发帖网站怎样做app宣传推广方案
  • 布吉网站建设公司网络销售公司经营范围
  • 扫码员在哪个网站可以做长沙网站seo收费
  • 如何用phpstudy做网站找回原来的百度
  • 珠海摥园网站建设百度推广竞价排名技巧
  • 高校保卫处网站建设工作总结网络营销策划方案ppt
  • 宿州品牌网站建设公司电商网站策划
  • 高端网站建设 房产百度推广费2800元每年都有吗
  • 广州网站建设比较好的公司搜索引擎营销的内容
  • 网站根目录文件名论坛seo设置
  • 广州网站建设公司乐云seo598互联网舆情