clumsy cd
This commit is contained in:
parent
fbd8857d4d
commit
9863fea78c
1 changed files with 8 additions and 0 deletions
8
sh.c
8
sh.c
|
@ -157,6 +157,14 @@ main(void)
|
|||
|
||||
// Read and run input commands.
|
||||
while(getcmd(buf, sizeof(buf)) >= 0){
|
||||
if(buf[0] == 'c' && buf[1] == 'd' && buf[2] == ' '){
|
||||
// Clumsy but will have to do for now.
|
||||
// Chdir has no effect on the parent if run in the child.
|
||||
buf[strlen(buf)-1] = 0; // chop \n
|
||||
if(chdir(buf+3) < 0)
|
||||
printf(2, "cannot cd %s\n", buf+3);
|
||||
continue;
|
||||
}
|
||||
if(fork1() == 0)
|
||||
runcmd(parsecmd(buf));
|
||||
wait();
|
||||
|
|
Loading…
Reference in a new issue