当前位置: 技术问答>linux和unix
写CLI 中命令的实现。。
来源: 互联网 发布时间:2016-09-20
本文导语: 最近得写个CLI ,但是没有例子,谁给我写一个简单的命令的实现过程,我学习下。。比如说 mkdir ,在终端 输入mkdir filename 就可以创建文件夹了。。而不是简单的mkdir()函数调用哦。。。。谢谢了! ...
最近得写个CLI ,但是没有例子,谁给我写一个简单的命令的实现过程,我学习下。。比如说 mkdir ,在终端 输入mkdir filename 就可以创建文件夹了。。而不是简单的mkdir()函数调用哦。。。。谢谢了!
|
给你个最简单的touch命令的实现:
#include
int main(int argc,char **argv) {
FILE *fp;
if (argc!=2) {
printf("Usage:%s n",argv[0]);
return -1;
}
fp=fopen(argv[1],"w");
if (fp==NULL) {
perror("Cannot create file");
return -1;
}
fclose(fp);
return 0;
}
|
shell不是你这样实现的,简单shell可以参考下面:
1: /* mshell.c */
2: #include
1: #include
3: #include
4: #include
5: #include
6: #include
7:
9: void do_cd(char *argv[]);
10: void execute_new(char *argv[]);
11:
12: main()
13: {
14: char *cmd=(void *)malloc(256*sizeof(char));
15: char *cmd_arg[10];
16: int cmdlen,i,j,tag;
17:
18: do{
19: /* 初始化cmd */
20: for(i=0;i