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

No packages published