Tag: ls

C – 尝试将/ bin / ls传递给execvp时出错

我正在开发一个需要能够使用execvp执行某些命令的C程序,我已经实现了这个: execvp(arguments[0], arguments); 其中arguments[]是一个stings数组。 在大多数情况下,我的实现工作正常 – 例如,如果arguments是{“touch”, “somefile.txt”}预期调用touch命令。 但是,当我尝试将ls传递给execvp时,其参数类似于{“/bin/ls”, “-a”, “.”} ,ls函数按预期打印目录列表,但也会输出错误 ls: cannot access GLIBC_2.0: No such file or directory 我不知道如何解决此警告,谷歌搜索没有任何结果。 有什么想法有什么不对?

用execv调用’ls’

我是系统调用和C编程的新手,正在完成我的大学任务。 我想调用’ls’命令并让它打印目录。 我有什么:(我已经添加了评论,因此您可以看到我通过每个变量看到的内容。 int execute( command* cmd ){ char full_path[50]; find_fullP(full_path, p_cmd); //find_fullP successfully updates full_path to /bin/ls char* args[p_cmd->argc]; args[0] = p_cmd->name; int i; for(i = 1; i argc; i++){ args[i] = p_cmd->argv[i]; } /* * this piece of code updates an args variable which holds arguments * (stored in the struct) in case […]