summaryrefslogtreecommitdiff
path: root/src/user/app/shell/shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/app/shell/shell.c')
-rw-r--r--src/user/app/shell/shell.c12
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();