Files
minishell/README.md

119 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
<!-- Project badge -->
<a href=".">
<img src=".github/README/minishelln.png">
</a>
<!-- Project name -->
<h1>minishell</h1>
<!-- Short description -->
<p>A simple bash-like shell written in C.</p>
<!-- Info badges -->
<img src="https://img.shields.io/badge/Score-No-black?style=for-the-badge&labelColor=black" alt="Score">
<!-- <img src="https://img.shields.io/badge/Score-100%2F100-brightgreen?style=for-the-badge&labelColor=black" alt="Score"> -->
<!-- <img src="https://img.shields.io/badge/Score-125%2F100-brightgreen?style=for-the-badge&labelColor=black" alt="Score"> -->
<img src="https://img.shields.io/badge/Language-C-blue?style=for-the-badge&labelColor=black" alt="Language">
<br>
<img src="https://img.shields.io/github/last-commit/sdevsantiago/minishell?display_timestamp=committer&style=for-the-badge&labelColor=black" alt="Last commit">
<br>
<img src="https://github.com/sdevsantiago/minishell/actions/workflows/norminette.yml/badge.svg">
<img src="https://github.com/sdevsantiago/minishell/actions/workflows/makefile.yml/badge.svg">
</div>
---
## About Project
> The purpose of this project is to create a simple bash-like shell.
DETAILED INFO
For detailed info, refer to this project [subject](docs/en.subject.pdf).
## 🚀 Getting Started
### Prerequisites
- GCC compiler
- Make utility
- Unix-like system (Linux, macOS, WSL)
### Install prerequisites
- APT
```bash
sudo apt install build-essential libreadline-dev
```
- Pacman
```bash
sudo pacman -Sy base-devel readline-devel
```
## 🔧 Build
1. **Clone the repository:**
```bash
git clone https://github.com/sdevsantiago/minishell.git
cd minishell
```
2. **Compile the project:**
```bash
make # Full compilation
```
3. **Clean build files:**
```bash
make clean # Remove object files
```
#### Available Make Targets
| Command | Description |
|---------|-------------|
| `make` | Compiles all |
| `make all` | Same as `make` |
| `make clean` | Remove object files (*.o) |
| `make fclean` | Remove object files and binaries |
| `make re` | Clean and rebuild everything |
## 👨‍💻 Usage
### Basic Usage
INSTRUCTIONS
## 📏 Norminette
The code strictly complies with 42's **Norminette v4**:
```bash
norminette *.c *.h
```
More info in the official [Norminette](https://github.com/42school/norminette) repository.
## 🙇‍♂️ Special thanks
- [lrcouto](https://github.com/lrcouto) and [ayogun](https://github.com/ayogun) for creating and publishing, respectively, the [42-project-badges](https://github.com/ayogun/42-project-badges) repository.
- [gcamerli](https://github.com/gcamerli) for creating the [42unlicense](https://github.com/gcamerli/42unlicense) repository.
## ⚖️ License
<div align="center">
<a href="./LICENSE">
<img src="https://img.shields.io/badge/License-42_Unlicense-red?style=for-the-badge&labelColor=black">
</a>
</div>
**This work is published under the terms of [42 Unlicense](LICENSE).** This means you are free to use, modify, and share this software.