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

How to execute linux terminal command diff within a program using exec( )

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

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

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

使用execlp,它以命令的名称作为参数,并使用PATH环境变量来定位相应的可执行文件。 execl 采用可执行文件的 路径