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

选择邯郸做网站厦门网站定制开发

选择邯郸做网站,厦门网站定制开发,wordpress可视化插件下载,网站建设吉金手指排名14shell shell就是操作系统提供给用户与操作系统进行交互的命令行界面。它可以理解为一个用户与操作系统之间的接口#xff0c;用户可以通过输入命令来执行各种操作#xff0c;如文件管理、进程控制、软件安装等。Shell还可以通过脚本编程实现自动化任务。 常见的Unix系统中使…shell shell就是操作系统提供给用户与操作系统进行交互的命令行界面。它可以理解为一个用户与操作系统之间的接口用户可以通过输入命令来执行各种操作如文件管理、进程控制、软件安装等。Shell还可以通过脚本编程实现自动化任务。 常见的Unix系统中使用的默认shell是Bash。除了Bash还有其他一些常见的shell如 C Shell、Kron Shell 等它们对于不同的用户需求和习惯提供了不同的特性和语法。 自定义Shell 打印 获取的字符串分割 执行命令 一些问题 内建命令的处理 原码 #include stdio.h #include stdlib.h #include string.h #include unistd.h #include sys/types.h #include sys/wait.h#define SIZE 1024 #define MAX_ARGC 64 #define SEP char *argv[MAX_ARGC]; char pwd[SIZE]; char env[SIZE]; // for test int lastcode 0;const char* HostName() {char *hostname getenv(HOSTNAME);if(hostname) return hostname;else return None; }const char* UserName() {char *hostname getenv(USER);if(hostname) return hostname;else return None; }const char *CurrentWorkDir() {char *hostname getenv(PWD);if(hostname) return hostname;else return None; }char *Home() {return getenv(HOME); }int Interactive(char out[], int size) {// 输出提示符并获取用户输入的命令字符串ls -a -lprintf([%s%s %s]$ , UserName(), HostName(), CurrentWorkDir());fgets(out, size, stdin);out[strlen(out)-1] 0; //\0return strlen(out); }void Split(char in[]) {int i 0;argv[i] strtok(in, SEP); // ls -a -lwhile(argv[i] strtok(NULL, SEP)); if(strcmp(argv[0], ls) 0){argv[i-1] (char*)--color;argv[i] NULL;} }void Execute() {pid_t id fork();if(id 0){// 让子进程执行命名execvp(argv[0], argv);exit(1);}int status 0;pid_t rid waitpid(id, status, 0);if(rid id) lastcode WEXITSTATUS(status); //printf(run done, rid: %d\n, rid); }int BuildinCmd() {int ret 0;// 1. 检测是否是内建命令, 是 1, 否 0if(strcmp(cd, argv[0]) 0){// 2. 执行ret 1;char *target argv[1]; //cd XXX or cdif(!target) target Home();chdir(target);char temp[1024];getcwd(temp, 1024);snprintf(pwd, SIZE, PWD%s, temp);putenv(pwd);}else if(strcmp(export, argv[0]) 0){ret 1;if(argv[1]){strcpy(env, argv[1]);putenv(env);}}else if(strcmp(echo, argv[0]) 0){ret 1;if(argv[1] NULL) {printf(\n);}else{if(argv[1][0] $){if(argv[1][1] ?){printf(%d\n, lastcode);lastcode 0;}else{char *e getenv(argv[1]1);if(e) printf(%s\n, e);}}else{printf(%s\n, argv[1]);}}}return ret; }int main() {while(1){char commandline[SIZE];// 1. 打印命令行提示符获取用户输入的命令字符串int n Interactive(commandline, SIZE);if(n 0) continue;// 2. 对命令行字符串进行切割Split(commandline);// 3. 处理内建命令n BuildinCmd();if(n) continue;// 4. 执行这个命令Execute();}return 0; }
http://www.w-s-a.com/news/23191/

相关文章:

  • wordpress建立目录seo编辑培训
  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50
  • 上海网站建设 觉策动力wordpress接口开发
  • 网站建设服务器的选择方案小型视频网站建设
  • 江宁做网站价格扬州立扬计算机培训网站建设怎么样
  • 手表网站背景开发新客户的十大渠道
  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格
  • 天河建网站装修公司线上推广方式
  • 超市网站怎么做的目前最流行的拓客方法
  • 做文字logo的网站贵阳商城网站开发
  • 沧州有没有做网站的中国建筑设计
  • 建设网站 系统占用空间在线代理浏览网站
  • 做海报有什么参考的网站网站建设验收合同
  • 酒店网站制作wordpress文章评论设置
  • 造一个官方网站wordpress mysql类
  • 怎么做卡商网站河南做网站找谁
  • 网站建设招标方案模板上线啦 图谱智能网站
  • 龙口网站建设公司哪家好wordpress 上传类型
  • 做外贸主要看什么网站服务平台的宗旨
  • 宜昌营销型网站购买网站
  • 如何查询网站建设时间wordpress 框架解析
  • 网站建设年终总结网站建设公司顺义
  • 网页给别人做的 网站后续收费吗获取更多付费流量