The objective of this project is for you to create a simple shell. Yes, your own little bash or zsh. You will learn a lot about processes and file descriptors.
With Minishell, you’ll be able to travel through time and come back to problems people faced when Windows didn’t exist.
- commands parsing considering
'
and"
- commands and files forwarding (
<
,>
,>>
) - multipipe management (
|
) - environment variables (
$
followed by characters) - return code
$?
- signals such as
ctrl-C
,ctrl-D
,ctrl-\
echo
(with option-n
)cd
(with only relative or absolute path)pwd
export
unset
env
(without any options and any arguments)exit
- Clone the repository:
git clone https://github.com/ethan0905/minishell.git
- Compile the project:
make -j
- Run the program:
./minishell
- Enjoy ;)
Special thanks to vietdu91 aka emtran, for his on work on that 900 lines test spreadsheet! You can go here an leave a star for the work.
https://docs.google.com/spreadsheets/d/1uJHQu0VPsjjBkR4hxOeCMEt3AOM1Hp_SmUzPFhAH-nA/edit#gid=0