- Basic commands
- Wildcards
- Redirections
- Pipes
- Background jobs
- Seperate commands with ';'
- Signal handling
- Cursor movement, tab, history with libreadline
I did this mostly for the sake of learning and fun! I always wanted to have my own small shell that I can run everywhere and I can add custom features to. I am aiming to implement some other features in this later like aliasing, enviromental variables and some basic if/else logics :). This project can also be seen as learning resource for people who want to learn how to make their own shell(I might write an article on this topic).
- Clone this repo.
git clone https://github.com/proh14/psh.git
cd ptext
- Run
make
inside this repo's main directory.
make
- go to build directory
cd build
- run psh!
./psh
OR to install you may run the command
make install
then restart your shell and run
psh
If your willing to contribute, I must say thank you :)