This project is the rewrite of a Unix shell, in C with libC.
It displays a prompt, parse and execute some commands.
- This shell can handle:
- space and tabs (multiples, errors, ...)
$PATH
and environment- errors and return value
- redirections (
<
,>
,<<
and>>
) - pipes (
|
) - builtins:
cd
,echo
,exit
,setenv
,unsetenv
- separators:
;
,&&
,||
For instance, you should be able to execute the following command:
➜ ./t-sh
t-sh> cd ; </etc/hosts od -c | grep xx | wc >> /tmp/z -l ; cd - && echo "OK"
You can move throught you shell line with your arrow keys. ✨
There is also an command history ! Find it with up and down arrow keys. ✨✨
🚨 This program only work on Unix based operating systems. 🚨
Install essentials build tools:
sudo apt install build-essential
Clone repository:
git clone https://github.com/baylesa-dev/T-SH.git && cd T-SH
Compile sources:
make
Execute:
./t-sh