Updated README

This commit is contained in:
Aleksandr Lebedev 2026-02-20 01:40:30 +01:00
parent 2a908210a1
commit 3e1f2a2340
2 changed files with 5 additions and 2 deletions

View file

@ -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

2
main.c
View file

@ -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);