Minishell is a simplified Bash shell environment capable of parsing commands and launching executables with arguments, plus several built-in functions. π
https://github.com/rphlr/42-Subjects/blob/main/common-core/minishell/en.subject.pdf
# Clone the repository
git clone https://github.com/yvann-ba/minishell.git
# Navigate to the project directory
cd minishell
# Build the project using Make
make
# Run minishell and enjoy (:
./minishell
- Executes commands from an absolute, relative, or environment PATH like
/bin/ls
orls
. - Supports single and double quotes.
- Redirections and pipes (
>
,>>
,<<
,<
,|
). - Handles environment variables (
$HOME
) and the return code ($?
). - Ctrl-C, Ctrl-, and Ctrl-D are implemented to handle interrupts and exits.
- Built-in functions:
echo
,pwd
,cd
,env
,export
,unset
, andexit
.
- I was responsible for the parsing, environment variables, built-in functions, and signal handling.
- Lilien took care of the execution, heredoc, redirection and piping, input files.