summaryrefslogtreecommitdiff
path: root/rm.c
diff options
context:
space:
mode:
authorkaashoek <kaashoek>2006-08-14 21:22:13 +0000
committerkaashoek <kaashoek>2006-08-14 21:22:13 +0000
commitd7b3b802f414dbf18b5e196ab1a342b19d5f7be8 (patch)
treeccbb34d956ae638d1fbcb24d850b62edb05e841a /rm.c
parentbdb66433031ca96f2fd127995186623cd10c45b3 (diff)
downloadxv6-labs-d7b3b802f414dbf18b5e196ab1a342b19d5f7be8.tar.gz
xv6-labs-d7b3b802f414dbf18b5e196ab1a342b19d5f7be8.tar.bz2
xv6-labs-d7b3b802f414dbf18b5e196ab1a342b19d5f7be8.zip
user-level programs: mkdir and rm
shell parses arguments (very simplistic) readme version of README (sh doesn't deal with capital characters) printf recognizes %c nicer output format for ls
Diffstat (limited to 'rm.c')
-rw-r--r--rm.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/rm.c b/rm.c
new file mode 100644
index 0000000..661e88d
--- /dev/null
+++ b/rm.c
@@ -0,0 +1,22 @@
+#include "types.h"
+#include "stat.h"
+#include "user.h"
+
+main(int argc, char *argv[])
+{
+ int i;
+
+ if(argc < 2){
+ printf(2, "Usage: rm files...\n");
+ exit();
+ }
+
+ for(i = 1; i < argc; i++){
+ if (unlink(argv[i]) < 0) {
+ printf(2, "mkdir: %s failed to create\n", argv[i]);
+ break;
+ }
+ }
+
+ exit();
+}