This project is about creating a simple shell.
We need to implement a bash that handle simple commands like
- redirections
output (ls > file)
append (echo Hail >> file)
input (< Makefile cat)
heredoc (cat << delimiter_to_stop)
- pipes
cat Makefile | grep CFLAGS | tr ' ' '#' | wc
- command history
- environment variables
- signals
ctrl-C
ctrl-D
ctrl-\
- $? (expand to the exit status of the most recently executed foreground pipeline)
- builtins
echo with option -n
cd with only a relative or absolute path
pwd with no options
export with no options
unset with no options
env with no options or arguments
exit with no options
- Our program has to implement
&& and || with parenthesis for priorities.
Wildcards * should work for the current working directory.
# && and || examples
echo Hello && echo Bye
wrong_command || echo right_command
# Wildcard example
ls *
cat *c
git clone git@github.com:vinicius-f-pereira/minishell.git
Use make
or make bonus
and follow instructions Here