爱是王道 发表于 2018-8-30 08:44:50

C语言实现shell脚本的想法。

#include   
#include
  
#include "main.h"
  
#include "sys_utility.h"
  
FUNITEM_T funlist[] = FUNLIST;
  
int test_sh(int argc, char *argv[])
  
{
  printf("this is test.sh\n");
  //在这个函数内实现具体的脚本。
  
}
  
//在数组内查找对应脚本名字的函数实现执行
  
MAINFUN_T search_sub_function(const char *prgname)
  
{
  const char *p=NULL;
  for(p=prgname; *p; p++){
  if(*p=='/'){
  prgname = p+1;
  }
  }
  FUNITEM_T *pt;
  for(pt=&funlist; pt->name; pt++){
  if(strcmp(prgname, pt->name) == 0){
  return pt->fun;
  }
  }
  return NULL;
  
}
  
int main(int argc, char *argv[])
  
{
  int ret=0;
  MAINFUN_T subfun = search_sub_function(argv);//查找函数并返回,函数入口。
  if(subfun)
  {
  ret = subfun(argc, argv);
  }
  return ret;
  
}


页: [1]
查看完整版本: C语言实现shell脚本的想法。