当前位置: 首页 > 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/740995/

相关文章:

  • 如何才能做好品牌网站建设策划sem推广案例
  • 网站设计专业实验室建设软件开发与程序设计有什么不同
  • 如何建设网站论文文献wordpress自适应 the7
  • 国内成熟的crm系统seo优化网站推广全域营销获客公司
  • 网站设计网站建设公司深圳网站设计公司在哪里
  • 赣州网站建设效果电影视频网站建设费用
  • wordpress 小说站最近国语视频在线观看免费播放
  • 40个免费网站推广平台东莞有多少个镇
  • 官网网站设计费用个人做网站公司
  • 邯郸营销网站建设公司哪家好室内设计联盟邀请码免费
  • 网站 美化律师在线咨询
  • 站酷网在线官网南溪门户网
  • 南宁网站优化公司电话洛阳平台公司
  • 绿色软件下载网站推荐wordpress调用评论框
  • 可以做雷达图的网站做免费的小说网站可以赚钱吗
  • swing做网站电子网站建设维护
  • 甘肃企业网站建设河北智能网站建设平台
  • 商城网站微信支付接口申请wordpress主题诗词
  • 网站建设报价清单明细wordpress给指定用户设置角色
  • 商城网站建设要多少钱湖北专业网站建设市面价
  • 苏州网站建设用哪种好网页传奇游戏攻略
  • 老域名新网站推广网站设计与网站建设a卷
  • 分类目录网站大全做seo建设银行网站钓鱼
  • dedecms 网站还原数据之后 乱码网站推广找
  • 如何设计网站网站如何做免费的推广
  • 上海公司建立网站吗使用html5做语音标注网站
  • 做网站能给公司带来什么好处wordpress 站点错误
  • 河北住房和城乡建设厅网站6番禺核酸检测点有新调整
  • 如东网站建设wordpress首页乱码
  • 广东微信网站推广哪家专业自己做网站要哪些东西