yae*_*omb 1 c linux directory shell
我的目标是编写一个类似于Linux的基本shell的C程序.除了更改工作目录外,我一切正常.我已经尝试了system()
输入字符串cd
,没有任何反应.我也试过chdir("tokened string")
,也没有运气.有人有主意吗?这是我的代码的一部分:
fgets(cmdStr, sizeof(cmdStr), stdin);
if( strncmp("quit", cmdStr, 4) == 0 || strncmp("Quit", cmdStr, 4) == 0 )
{
break;
}
else if( strncmp("cd", cmdStr, 2) == 0 )
{
char *token = strtok(cmdStr, " ");
token = strtok(NULL, " ");
chdir(token);
}
else
{
system(cmdStr);
}
}
Run Code Online (Sandbox Code Playgroud)
是否有可能做到这一点?或者这是一个与子shell无法做某些事情有关的简单案例?
编辑:上面的代码已完成.