[英]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.