如何使用 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
采用可执行文件的 路径 。
我尝试使用 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
采用可执行文件的 路径 。