深入探索C与Bash脚本交互及相关命令
1. C语言运行脚本的方法
在使用system函数运行脚本时,会创建两个shell会话,一个用于system,另一个用于运行脚本(除非脚本以exec启动)。而使用C语言的popen函数来运行脚本则更为简便。popen函数可以运行程序,并为其附加一个管道,就好像使用了shell的管道操作符|一样。
popen函数有两个参数:要运行的程序及其参数,以及一个模式字符r或w。如果C程序要读取脚本的标准输出,则使用r;如果要向脚本的标准输入写入数据,则使用w。当程序运行结束后,使用pclose函数关闭管道。
以下是一个使用popen函数运行Bash命令的示例代码c_popen.c:
/* c_popen.c: run a Bash command from C using popen */ #include <stdio.h> #include <stdlib.h> int main() { FILE *f = NULL;