https://github.com/usercrixus/42minishell
A simple Unix shell implementation as part of the 42 school curriculum. This project replicates fundamental shell behavior including parsing, executing built-in and external commands, handling pipes, redirections, and more.
https://github.com/usercrixus/42minishell
42 minishell
Last synced: 4 months ago
JSON representation
A simple Unix shell implementation as part of the 42 school curriculum. This project replicates fundamental shell behavior including parsing, executing built-in and external commands, handling pipes, redirections, and more.
- Host: GitHub
- URL: https://github.com/usercrixus/42minishell
- Owner: usercrixus
- Created: 2024-12-30T10:59:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-06T06:49:54.000Z (about 1 year ago)
- Last Synced: 2025-07-27T07:20:09.350Z (11 months ago)
- Topics: 42, minishell
- Language: C
- Homepage:
- Size: 316 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 42minishell
A simple Unix shell implementation as part of the 42 school curriculum. This project replicates fundamental shell behavior including parsing, executing built-in and external commands, handling pipes, redirections, and more.
## Features
- Execution of simple and piped commands
- Built-in commands: `cd`, `echo`, `pwd`, `export`, `unset`, `env`, `exit`
- Redirections: `<`, `>`, `>>`, `<<` (heredoc)
- Environment variable management
- Signal handling (`Ctrl+C`, `Ctrl+\`)
- Exit status propagation
- Quote handling (single `'` and double `"`)
## Build Instructions
```bash
make
```
To clean build files:
```bash
make clean # Removes object files
make fclean # Removes all binaries and object files
make re # Full rebuild
```
Run the Shell
```bash
./minishell
```
Run with the suppression file:
```
valgrind --leak-check=full --show-leak-kinds=all --suppressions=valgrind.supp ./minishell
```