【问题标题】:How to execute linux terminal command diff within a program using exec( )如何使用 exec() 在程序中执行 linux 终端命令 diff
【发布时间】:2015-03-14 05:54:38
【问题描述】:

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

【问题讨论】:

    标签: c linux unix


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-03-11
        • 1970-01-01
        • 2014-07-03
        • 1970-01-01
        • 1970-01-01
        • 2021-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多