当我们在bash环境下输入linux命令或者自己编写的可执行程序后,再按下回车键便可执行。这里主要就是实现这个功能。
不多说,先看一个简单的代码:
1 #include<stdio.h>
2 #include <sys/types.h>
3 #include <unistd.h>
4 #include <sys/wait.h>
5
6 int main()
7 {
8 pid_t pid=fork();
9 if(pid==-1)
10 {
11 perror("fork");
12 return -1;
13 }
14 else if(pid==0) //子进程执行的代码
15 {
16 execlp("mytest","mytest",NULL);
17 }
18 else //父进程执行的代码
19 {
20 wait(NULL);
21 printf("father done\n");
22 }
23 return 0;
这是一个很简单的bash,简单到不用输入任何指令,因为它默认执行了mytest可执行文件。主要为了说明bash下命令运行的过程:
char * strtok(char *str,const char *delimiters)函数介绍:
功能:将一个字符串切割成不同的字串。
参数:
str: 第一次调用:待切割的字符串的首地址,第二次:NULL
delimiters:分割符
返回值:从左至右一次返回切割后字串的首地址。最后返回NULL。