所以这是我的问题。我有一个从用户输入的命令列表,我需要用它来传递到ls
。这是char *cmdList = {"ls", "-l", "folder1/folder2"}
命令的示例。
ls
现在我需要一种方法来修改第一个条目,使其形式为" / bin / ls"
是通过strcat命令执行此操作的唯一方法吗?理想情况下,我希望直接修改cmdList
条目,以便将execvp()
直接传递到var defaultConfig = {
everything: 'goes',
'in': {here: ""},
once: true
};
var selectedOptions = jQuery.extend(true, {}, defaultConfig, optionConfig);
。
答案 0 :(得分:1)
您无需指定使用execvp()
的完整路径。所以你不必担心修改第一个参数。例如,如果您有一个带参数的数组:
#include <unistd.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
char *cmdList[] = {"ls", "-l", "folder1/folder2", 0};
execvp(cmdList[0], cmdList);
}
execvp()
将搜索您ls
中的PATH
并执行它。
答案 1 :(得分:0)
这适合我。
char * cmdList [] = {“ls”,“ - l”,“folder1 / folder2”};
cmdList [0] = “/ bin中/ 1”; printf(“%s”,* cmdList);