DelicaTessa / 42-minishell

Codam minishell project - A group project to recode a mini version of bash by T. Clement and J.B. Cornelisse

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

minishell

This project is to create a simple shell. Concepts about processes and file descriptors are introduced.

This is a group project completed by T. Clement & J.B. Cornelisse

Technical considerations

The following elements need to work like in bash

  • Show a prompt when waiting for a new command

  • Search and launch the right executable (based on the $PATH variable or by using relative or absolute path)

  • Implement the below builtins:

    • echo with option ’-n’
    • cd with only a relative or absolute path
    • pwd without any options
    • export without any options
    • unset without any options
    • env without any options and any arguments
    • exit without any options
  • Pipes |

  • ' and " except for multiline commands

  • Redirections < > >> << except for file descriptor aggregation

  • Environment variables ($ followed by characters)

  • $? to store exit status of the previous command

  • ctrl-C, ctrl-D and ctrl-\

How to test

Run the following commands

$ git clone https://github.com/DelicaTessa/42-minishell
$ cd 42-minishell
$ make
$ ./minishell

About

Codam minishell project - A group project to recode a mini version of bash by T. Clement and J.B. Cornelisse


Languages

Language:C 97.6%Language:Makefile 2.4%