我试图用 C 编写自己的 shell。我的chdir()
函数有问题。有时我有一条错误消息说execvp: No such file or Directory
,而其他一些则什么都没有。目录始终相同。我正在尝试到达一个存在的目的地。
if(strcmp(str,"exit\n")!=0){
history_vector[i]=strdup(str);
if(strcmp(str,"cd\n")==0){
char *dir = strtok(str," ");
dir = strtok(NULL," ");
if(chdir(dir) == -1) {
perror("Cannot change directory");
}
else {
printf("Changing Directory .....\n");
}
}