diff options
Diffstat (limited to 'src/user/app/shell/shell.c')
-rw-r--r-- | src/user/app/shell/shell.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/user/app/shell/shell.c b/src/user/app/shell/shell.c index 6083578..d96ef4c 100644 --- a/src/user/app/shell/shell.c +++ b/src/user/app/shell/shell.c @@ -37,9 +37,15 @@ void run_args(int argc, char **argv, struct redir *redir) { if (!*argv) return; /* "special" commands that can't be handled in a subprocess */ - if (!strcmp(argv[0], "shadow")) { - // TODO process groups - _syscall_mount(-1, argv[1], strlen(argv[1])); + if (!strcmp(argv[0], "mount")) { + if (argc < 3) { + eprintf("not enough arguments"); + return; + } + MOUNT_AT(argv[1]) { + run_args(argc - 2, argv + 2, redir); + exit(1); + } return; } else if (!strcmp(argv[0], "time")) { uint64_t time = __rdtsc(); |