【发布时间】:2017-05-08 01:50:28
【问题描述】:
我正在尝试执行下一个 linux 命令
cat file_a file_b file_c | wc –l > result.txt
在 C 程序中,但我无法正确执行。我的 C 编程水平很低,我想看看如何使该命令在 C 程序中工作。
这是我开发失败的代码:
void main() {
execlp("/bin/sh", "/bin/sh", "-c", "cat file1 file2 fileN | wc –l > lines.txt", 0);
}
【问题讨论】:
-
您面临的问题是什么?
-
您可能会得到:
wc: –l: No such file or directory,那是因为您可能已经复制粘贴了 shell 命令,而您的-l实际上并没有破折号,而是有一些其他字符可以重新组合它。 C 代码本身是正确的。 -
@Alpar:很明显——这是一个 U+2013 EN DASH 而不是 U+002D HYPHEN-MINUS。
标签: c linux shell command pipe