simple-c-shell
Simple and thoroughly commented shell written in C, just for educative purposes.
Created by Juan Manuel Reyes as an University exercise, and released under GPLv3.
Features
- Basic commands:
exit
,pwd
,clear
andcd
- Environment management with
setenv
andunsetenv
- Program invocation with forking and child processes
- I/O redirection (use of
dup2
system call) limited to the following:
<cmd> <args> > <output>
<cmd> <args> < <input> > <output>
- Background execution of programs with
&
- Piping implemented (
<cmd1> | <cmd2>
) viapipe
anddup2
syscalls. Multiple piping is allowed. - SIGINT signal when Ctrl-C is pressed (shell is not exited)