Skip to content

Minishell is a 42 school team project to create a basic shell program in C. It implements redirections and pipes, as well as environment variables and some builtin commands.

Notifications You must be signed in to change notification settings

miketaonjo/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project name : minishell

For this project, the assignment is :

This project is about creating a simple shell. Yes, your own little bash. You will learn a lot about processes and file descriptors.

It is a team project where you will create a basic shell program in C. It implements redirections and pipes, as well as environment variable expansions and the cd, echo, env, exit, export, pwd and unset builtin commands.

Minishell is a miniature shell program based on Bash. Minishell supports:

  • Prompt display
  • Command history (up and down arrows)
  • System executables available from the environment (ls, cat, grep, etc.)
  • Local executables (./minishell)
  • Builtin commands :
    echo (and option -n)
    cd (with only a relative or absolute path)
    pwd(no options)
    export (no options)
    unset (no options)
    env (no options or arguments)
    exit (with exit number but no other options)
  • Pipes | which redirect output from one command to input for the next
  • Redirections:
    >redirects output
    >> redirects output in append mode
    < redirects input
    << DELIMITER displays a new prompt, reads user input until reaching DELIMITER, redirects user input to command input (does not update history)
  • Environment variables (i.e. $USER or $VAR) that expand to their values.
    $? expands to the exit status of the most recently executed foreground pipeline.
  • User keyboard signals:
    ctrl-c displays a new prompt line.
    ctrl-d exits minishell
    ctrl-/ does nothing
    However, Minishell does not support /, ;, &&, ||, or wildcards.

Usage

In order to compile : make

Execution : ./minishell (anything from listed above)

Exemple = ./minishell cat Makefile | grep o > out

About

Minishell is a 42 school team project to create a basic shell program in C. It implements redirections and pipes, as well as environment variables and some builtin commands.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages