繁体   English   中英

如何使用命令中的参数运行execlp

[英]how to run execlp with arguments from command

我正在尝试创建一个简单的程序,该程序将从参数运行外壳命令,例如

./run date +"%r"

 07:56:05 PM

但我不知道如何。 我尝试了一下,但是没有用。 我很困惑,绝对无法确定exec是如何工作的。

#include <unistd.h>
#include <stdio.h>

int main (int argc, char *argv[]){

    execlp("bash","bash", "argv[1]", (char*)0);  


    return 0;
}

您可能是想(请注意argv[1]周围缺少引号):

execlp("bash", "myprogram", argv[1], NULL);

请注意,我在这里假设myprogram是一个shell脚本。 如果是二进制文件,则应删除前面的"bash"参数。

一种好的故障排除技术可能是用echo替换bash以确认命令行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM