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

网站设置点赞宣传片制作拍摄公司

网站设置点赞,宣传片制作拍摄公司,房管局在线咨询,多媒体展厅设计制作公司注意&#xff1a; 本文章只是为了理解shell内部的工作原理&#xff0c; 所以并没有完成shell的所有工作&#xff0c; 只是完成了shell里的一小部分工作 #include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include &l…

注意: 本文章只是为了理解shell内部的工作原理, 所以并没有完成shell的所有工作, 只是完成了shell里的一小部分工作

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <sys/types.h> 
#include <sys/wait.h>#define LEFT "["
#define RIGHT "]"
#define END "#"
#define SPLIT " "
#define LINE_SIZE 1024
#define ARGV_SIZE 32
#define EXIT_CODE 66
#define PWD_SIZE 100int lastexit = 0;
int quit = 0;
char pwd[PWD_SIZE];const char* getusername() {return getenv("USER");
}const char* mygethostname() {return getenv("HOSTNAME");
}void getpwd() {getcwd(pwd, PWD_SIZE);
}void display() {getpwd();printf(LEFT"%s@%s %s"RIGHT""END" ", getusername(), mygethostname(), pwd);
}void getinput(char* cline, int size) {char* s = fgets(cline, size, stdin);assert(s != NULL);cline[strlen(cline) - 1] = '\0';//printf("%s\n", cline);
}int split(char* cline, char* argv[]) {int i = 0;//printf("%s", cline);argv[i ++] = strtok(cline, SPLIT);while (argv[i ++] = strtok(NULL, SPLIT));return i - 1;
}void normalExe(char* argv[]) {extern char** environ;pid_t id = fork();if (id < 0) {perror("fork");//continue;} else if (id == 0) {// childexecvpe(argv[0], argv, environ);exit(EXIT_CODE);}// fatherint status = 0;pid_t ret = waitpid(id, &status, 0);//  if (ret > 0) printf("wait success pid: %d\n", ret);if (ret > 0) lastexit = WEXITSTATUS(status);
}int neijian(char* argv[], int argc) {if (argc == 2 && strcmp(argv[0], "cd") == 0) {chdir(argv[1]);getpwd();return 1;}return 0;
}int main() {//int quit = 0;char cline[LINE_SIZE];char* argv[ARGV_SIZE] = { NULL };extern char** environ;while (!quit) {display();getinput(cline, LINE_SIZE);int tt = split(cline, argv);if (tt == 0) continue;//printf("%d\n", tt);/*int i = 0;for (i = 0; argv[i]; ++ i)printf("%s ", argv[i]);printf("\n");*/// 内建命令执行//内建命令本质上就是shell内部的一个函数int n = neijian(argv, tt);//printf("%d\n", n); //普通命令执行if (!n) normalExe(argv);}return 0;
}
http://www.yayakq.cn/news/795362/

相关文章:

  • 无锡设计网站北京国企设计院排名
  • 陕西省住房和建设厅官方网站有需要网站建设网站推广请找我
  • 全屏幕网站模板家政公司怎么注册
  • 贵阳网站建设 赶集网站百度贴吧
  • 怎样在手机上制作网站wordpress loginview
  • 南京汽车 企业 网站建设泉州seo不到首页不扣费
  • 一品猪网站开发18岁以上站长统计
  • 网络营销网站建设培训互动营销的案例有哪些
  • 论述简述网站制作的步骤中国信用网企业查询
  • 环保行业网站开发制作网站软件免费
  • 车辆对比那个网站做的好泰州seo网络公司
  • 有哪些网站可以做推文网站查询功能怎么做
  • 渠道网站免费域名申请的方法
  • 校园网自助网站如何用wordpress搭建录播课程
  • 网站建设服务怎么样呼叫中心外包
  • 重庆市工信部网站宁波医院网站建设
  • 网站 cms 免费wordpress 获得分类名称
  • 顺德大良营销网站建设网络物流平台
  • 南宁网站制作公司jsp与网站开发期末试题
  • 锡林郭勒盟建设工程造价信息管理网站学校网站制作软件
  • 群晖 做网站服务器效果图在线制作
  • 网页和网站的区别和联系装修公司网站建设设计作品
  • 大丰做网站的公司金蝶软件仓库管理
  • 网站开发需要准备什么陕西建设局官方网站
  • 网站规划建设方案如何制作一个网站
  • 本单位门户网站是什么意思wordpress printf
  • 百度网站体检接做施工图的网站
  • 功能网站建立网站 多少钱
  • 深圳企业做网站廊坊视频剪辑培训机构
  • 下载室内设计排版模板网站有哪些网站建设任务执行书