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

https://github.com/ugolinolle/minishell

💻・Own simple shell, similar to bash.
https://github.com/ugolinolle/minishell

42 42projects 42school c minishell minishell-42 minishell42

Last synced: about 1 year ago
JSON representation

💻・Own simple shell, similar to bash.

Awesome Lists containing this project

README

          

# Minishell


Minishell 42 project badge

[![42 School Project](https://img.shields.io/badge/42%20Project-Minishell-blue)](https://github.com/your-username/minishell)
[![Language: C](https://img.shields.io/badge/language-C-green.svg)]()

## 💻・Description

Minishell is a project that challenges you to create your own simple shell, similar to bash. This project delves deep into process creation and management, as well as file descriptors.

**Features:**
- Display a prompt for new commands
- Working command history
- Search and launch executables based on PATH or absolute/relative paths
- Handle single quotes (') and double quotes (")
- Implement redirections (<, >, <<, >>)
- Implement pipes (|)
- Handle environment variables
- Handle $? special variable
- Handle signals (ctrl-C, ctrl-D, ctrl-\)
- Implement built-in commands: echo, cd, pwd, export, unset, env, exit

**Technologies Used:**
- C Language
- Process Management
- Signal Handling
- File Descriptors

## ⌨️・Usage

1. Compile the program:

```bash
make
```

2. Run the shell:

```bash
./minishell
```

3. You can now enter commands as you would in a regular shell.

## 🧑‍🤝‍🧑・Contributing

Contributions to this project are welcome. If you find any issues or want to improve the code, please feel free to open a pull request or issue.

## 📑・License

This project is licensed under the [MIT License](https://github.com/UgolinOlle/philosophers/blob/master/LICENSE) - see the LICENSE file for details.

## 📩・Contact

If you have any questions or would like to collaborate, please do not hesitate to contact me at [email](mailto:hello@ugolin-olle.com) or [LinkedIn](https://linkedin.com/in/ugolin-olle)