This is an implementation of shell in C using fork() and exec() system calls. The main program acts as the parent process while the command entered is parsed and executed in the foreground as a child process.
It supports the following functionalities:
- All standalone built in commands of Linux (eg.,
ls
,cd
,cat
,echo
). - Output redirection using '
>
'. - Piping using '
|
'. - Signal Handling for signals such as
SIGINT
. - Any number of linux commands separated by "
;;
" (eg.,ls ;; date ;; sleep 10
) can be executed one after the other independent of each other