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

Posted bywayboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言中调用Unix Shell脚本。相关的知识,希望对你有一定的参考价值。

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

static int execute_script(const char * filename)

#if defined(_WIN32) || defined(_WIN64)
	// 
	printf("EXECUTE FILE.... %s\\n",filename);
#else
	pid_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;


以上是关于在C语言中调用Unix Shell脚本。的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中调用类似于 unix shell 脚本的函数

怎么在c语言程序里调用shell脚本文件

如何在C语言中调用shell命令

如何在C语言中调用shell命令

如何在C语言中执行shell命令

Linux/Unix shell 脚本中调用SQL,RMAN脚本