实现简单的bash功能

    当我们在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。

猜你喜欢

转载自blog.csdn.net/qq_39846745/article/details/80644533