From 3e1f2a2340c8f9e4f02b127eb7edf56cd9928826 Mon Sep 17 00:00:00 2001 From: Aleksandr Lebedev Date: Fri, 20 Feb 2026 01:40:30 +0100 Subject: [PATCH] Updated README --- README.org | 5 ++++- main.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) 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);