0
printf(* arg); execvp(* arg,arg);
這裏printf()語句打印值= ls.But當運行程序execvp給出沒有這樣的文件或目錄。 否則如果(PID == 0){使用fork製作簡單的unix外殼,execvp
printf(*arg);
execvp(*arg, arg);
char* error = strerror(errno);
printf("shell: %s: %s\n", arg[0], error);
return 0;
if(execvp(arg[0], arg)<0)
{
printf("***ERROR: execution failedn\n");
}
return 0;
}
你能告訴我們第二個printf的輸出在哪裏打印'arg [0]'?編寫shell時常見的錯誤是忘記修改從用戶讀取的輸入行末尾的換行符。 –