Skip to content

About

The 42 minishell project is a task where students create a simple shell program that can execute commands, handle errors, manage processes, and implement basic shell features like redirections and pipes. It emphasizes understanding Unix system calls and improving coding skills in C.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

356 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

MINISHELL

Minishell

let's build a beautiful mini bash like brian fox

Brian Fox

Table of Contents

Authors

Introduction

Minishell is a simple shell implementation project for 42 School. The goal of this project is to create a small, yet functional shell that can execute commands, manage processes, and handle basic shell functionalities.

features

This project recreates a basic shell with essential functionalities, including:

  • Command parsing and execution
  • Built-in commands (e.g., cd, echo, exit, env, export, unset, pwd)
  • subshell (e.g., (command1 | (command2)))
  • AND / OR (e.g., command1 || command2, command1 && command2)
  • Process management (fork, exec, wait)
  • Input/output redirection (>, <, >>)
  • woldcacrd (command *)
  • Pipes (command1 | command2)
  • Signal handling (Ctrl+C, Ctrl+D, Ctrl+)
  • here doc (<< lim)
  • Error handling (syntax error, ambiguous error)

Installation

To install Minishell, follow these steps:

  1. Clone the repository:

    git clone https://github.com/nourddine-benyahya/Minishell
  2. Navigate to the project directory:

    cd minishell
  3. Compile the source code:

    make

Usage

To run Minishell, execute the following command in the project directory:

./minishell

then enjoy with out beautiful bash :)

Once running, you can enter commands just like you would in a regular Unix shell.

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

image

About

The 42 minishell project is a task where students create a simple shell program that can execute commands, handle errors, manage processes, and implement basic shell features like redirections and pipes. It emphasizes understanding Unix system calls and improving coding skills in C.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages