This program is made same as a shell in low-level Unix/POSIX system. I implemented this by using existing C libraries and system calls related to processes, file access, and interprocess communication (pipes and redirection).
Even the user types simple builtin commands, it is forked and called in a child process in order to redirect their output.
Execution
- ls
- cd
- cd ..
- cd -
- pwd
Piping/Redirection
- cat sample.txt | grep foo
- fortune | cowsay | cowsay
- echo "Hello World" > output.txt
- echo -e "hello \nworld \ngoodbye \nworld" | grep world
- help | grep cd
- cat < foo.txt > fooout.txt
- cat < input.txt
Job Control
- Ctrl + Z
- kill 24 [pid of the last infiniteloop] ? jobs
Copyright [2017] Dan Choe

