/42_minishell

42 group project. A simple, Bash-inspired shell. Done by @adel-cor and @ngasco.

Primary LanguageC

Minishell

The objective of this project is for you to create a simple shell. Yes, your little bash or zsh. You will learn a lot about processes and file descriptors.

This is a group project done with @adelcor.

The shell must:

  • interpret quotes correctly
  • expand environment variables, including $?
  • detect syntax errors
  • have a prompt with a working history
  • execute builtins, such as echo, cd, pwd, export, unset, env, and exit
  • interpret simple and double quotes
  • execute redirections (<, >, <<, >>)
  • execute pipes
  • Catch ctrl-C, ctrl-D, and ctrl-\ signals

Run the program

Unix

Clone the repository and open it

# You might need to run this on MacOs
brew install readline

make
./minishell

Examples

  • >> redirection
    Screenshot of >> redirection example

  • Here doc
    Screenshot of Here doc

  • Echo
    Screenshot of echo examples

  • Export and unset
    Screenshot of export and unset examples

  • Export and unset
    Screenshot of export and unset examples

  • Pipe examples
    Screenshot of pipe example