文章目录
C 代码中调用shell 脚本
在C语言中,可以通过使用popen()
函数来调用shell脚本,并获取其输出结果。popen()
函数允许执行一个命令,并且可以读取该命令的标准输出。以下是一个使用popen()
调用shell脚本并获取输出结果的简单示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char path[1035];
/* 打开命令用于读取 */
fp = popen("/path/to/your/script.sh", "r");
if (fp == NULL) {
printf("Failed to run command\n" );
exit(1);
}
/* 逐行读取输出结果,直到文件末尾 */
while (fgets(path, sizeof(path)-1, fp) != NULL) {
printf("%s", path);
}
/* 关闭文件 */
pclose(fp);
return 0;
}
这段代码做了以下几件事情:
- 使用
popen()
函数执行一个shell脚本(替换/path/to/your/script.sh
为脚本路径),并把该函数的返回值赋给FILE*
类型的变量fp
。"r"
参数指示我们想要读取命令的输出。