gpt4 book ai didi

c - 使用 ubuntu 执行迷你 shell

转载 作者:行者123 更新时间:2023-11-30 20:32:07 24 4
gpt4 key购买 nike

我正在尝试运行以下代码,但它不起作用。我只想执行一个程序,当程序的输入名称完成后。我不知道问题到底出在哪里,因为代码看起来没问题。也许还有其他重要的事情,我没有注意到......

setbuf(stdout, NULL);
char input[255];
char path[255];
int status;
char *args[2] = {"ls", NULL};
while(strcmp(input, "end") != 0 ){
printf("Waiting for input:\n");
scanf("%s",input);
strcpy(path, "./");
strcat(path, input);
if(strcmp(input, "end") != 0){
printf("execute %s\n", path);
int ret = execv(path, args);
if(ret == -1){
perror("execve error");
}
}
else{
printf("Programm-Ends\n");
}
};
return 0;

最佳答案

args 的第一个元素应该是正在运行的程序的名称。所以说:

args[0] = path;

在调用 execv() 之前。

关于c - 使用 ubuntu 执行迷你 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48396195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com