This project is about creating a simple shell.
My shell should
• Display a prompt when waiting for a new command
• Have a working history
• Search and launch the right executable (based on the PATH variable or using a
relative or an absolute path)
• Deal with signal handler
• Handle ’ (single quote) and " (double quote)
• Implement redirections (<, >, <<, >>)(heredoc)
• Implement pipes (| character)
• Handle environment variables
• Handle '$?'
• Handle ctrl-C, ctrl-D and ctrl-\
(ctrl-C displays a new prompt on a new line
ctrl-D exits the shell
ctrl-\ does nothing)
• implement a few builtins (echo, cd, pwd, export, unset, env, exit)\