如何使用exec()在程序中执行linux终端命令diff

时间:2015-03-14 05:54:38

标签: c linux unix

我尝试使用execl("diff", "diff", "file1.txt", "file2.txt");, 但它失败了,因为第一个参数被认为是这个程序的路径。 diff的文件路径是什么?

2 个答案:

答案 0 :(得分:1)

使用execlp将命令的 name 作为参数,并使用PATH环境变量找到相应的可执行文件。 execl获取可执行文件的路径

答案 1 :(得分:0)

使用whereis命令查找命令路径。

rajalakshmi@stack-$ 
rajalakshmi@stack-$ whereis diff
       diff: /usr/bin/diff /usr/bin/X11/diff /usr/share/man/man1/diff.1.gz
rajalakshmi@stack-$ 
相关问题