An open API service indexing awesome lists of open source software.

https://github.com/babreton/42-minishell

Minishell project at 42 school
https://github.com/babreton/42-minishell

42 42-minishell 42cursus 42minishell 42projects 42school bash minishell minishell-42 minishell42 shell

Last synced: about 2 months ago
JSON representation

Minishell project at 42 school

Awesome Lists containing this project

README

          


BaBreton



language
language

# 42-Minishell

Minishell is a 42 school project that involves reimplementing a "mini" bash terminal. In this project, I've re-implemented the following built-in functions:

* 'echo' (with '-n' option)
* 'cd' (with relative or absolute path)
* 'pwd' (without options)
* 'export' (without options)
* 'unset' (without options)
* 'env' (without options or arguments)
* 'exit' (without options)

I've also had to reimplement the following features :

* Redirections (in and out to a file)
* Multi commands with pipes
* Manage the environment variables : you can use the '$' with 'echo' or in your redirections to print environment variables.
* Handling signals : 'ctrl-c' and 'ctrl-d'

## Installation

To create the executable, navigate to the root folder of the project and use the following command:

```bash
make
```

Then, you can run the program with:

```bash
./minishell
```

## Usage

Now that you are in the program, you can enter various bash commands !