标签: c bash redirect pipe stdin
我正在尝试在C程序中运行{b}命令,例如ls | wc -l。我的方法是每次使用以下行执行与上一个命令不同的命令时将stdout保存在管道中:
ls | wc -l
write(fd[1], stdout, sizeof(stdout))
然后。 fd [0]应该为下一个子执行设置stdin的值。我的方法是使用类似于freopen()的命令。问题是该命令不会将值从变量重定向到stdin,因此它无助于读取fd [0]。有什么建议吗?