在C语言中调用Unix Shell脚本。

来源:互联网 发布:linux中txt文件转码 编辑:程序博客网 时间:2024/05/16 07:14

最近项目要求需要在C语言中调用shell脚本。

static int execute_script(const char * filename){#if defined(_WIN32) || defined(_WIN64)// printf("EXECUTE FILE.... %s\n",filename);#elsepid_t pid = 0;if(0 == (pid = fork())){if(0 == access("/bin/sh", 0))execl("/bin/sh", "sh", "-c", filename,NULL);if(0 == access("/bin/bash", 0))execl("/bin/bash","bash", filename,NULL);exit(0);}return pid;#endif}


附上一个换行模式转换函数

int lfmode_tounix(char * str, int len){char c, * p=str, *p1=str;while(len--){c= *p++;switch(c){case '\r':if(*p != '\n') // only macintosh mode convert to unix mode.*p1++ = '\n';// default skip cr.break;default:*p1++ = c;break;}}*p1='\0';return p1-str;}


0 0
原创粉丝点击