diff --git a/README.org b/README.org index 6a1f18d..cb51201 100644 --- a/README.org +++ b/README.org @@ -4,11 +4,14 @@ Simple shell for Unix-like systems written in C, that has a funny name (for germ * Features - Can run commands - You can pipe stdout of one command to stdin of another (ex. ~cat main.c | wc --lines~) +- Variables expansion with ~$PATH~ and ~${HOME}~ syntax +- Run subcomands with ~$(hostname)~ or ~`pwd`~ (works with pipes) - ~cd~ builtin command (~cd~ without arguments moves you to ~$HOME~) - ~exit~ builtin command - ~CTRL+C~ stops running command - Custom ~readline~ function -- Run scripts with ~arsh /path/to/script~ or by putting ~#!/usr/bin/env arsh~ at the first line of a script and making it executable. +- Run scripts with ~arsh /path/to/script~ or by putting ~#!/usr/bin/env arsh~ at the first line of a script and making it executable +- Run commands with ~arsh -c 'echo $PATH'~ to launch something quickly with ~arsh~. * Build To build it, you don't need any external dependencies. Example with ~gcc~: #+begin_src shell diff --git a/main.c b/main.c index d7eb7c8..3bf9475 100644 --- a/main.c +++ b/main.c @@ -25,7 +25,7 @@ void sigint_handler(int signo) siglongjmp(restart_jmp_buf, restart_value); } -/*Checked calloc: if allocation fails -> exists*/ +/*Checked calloc: if allocation fails -> exits*/ void* ccalloc(size_t size, size_t n) { void* ret = calloc(size, n);