我正在尝试在 ac 程序中使用参数执行命令。例如,当用户使用以下命令执行我的程序时:“./a.out ls -la”
该程序应使用 la 选项执行 ls。
但我不知道该怎么做。
我的程序使用叉子。
我尝试这种方式:
pid = fork();
if(pid == 0){
execvp(argv[1], &argv[2]);
}else{
wait(NULL);
}
但它不起作用。
我想将数组作为 execvp 的第二个参数传递,其中 args 在命令中传递,但我对指针(以及指针的指针:s)有点困惑。
我知道这不起作用,因为参数中的破折号但即使我不使用破折号,程序也只会启动'ls'而不考虑'la'选项。
如果有人可以帮助我,我会很高兴知道这样做的好方法。
谢谢你。