https://github.com/lschrafstetter/42_minishell
This is the "minishell" project of the 42 School core curriculum. The goal was to create a simple shell on the basis of bash in C.
https://github.com/lschrafstetter/42_minishell
42 42wolfsburg bash minishell shell
Last synced: about 2 months ago
JSON representation
This is the "minishell" project of the 42 School core curriculum. The goal was to create a simple shell on the basis of bash in C.
- Host: GitHub
- URL: https://github.com/lschrafstetter/42_minishell
- Owner: lschrafstetter
- License: mit
- Created: 2022-07-27T15:47:36.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-20T08:57:02.000Z (almost 4 years ago)
- Last Synced: 2025-02-09T06:18:51.583Z (over 1 year ago)
- Topics: 42, 42wolfsburg, bash, minishell, shell
- Language: C
- Homepage:
- Size: 313 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# minishell
This is the minishell project of the 42 School core curriculum (mini bash clone).

How to use it (Linux or macOS):
- clone the repo
- if the readline package is not installed: sudo apt-get install libreadline6 libreadline6-dev
- "make" via the Makefile
- ./minishell
The task was to create a mini bash clone with the following features:
- working history
- launch an executable (relative/absolute path or via PATH variable)
- handles ' " ' and ' ' '
- redirections ("<", "<<", ">", ">>")
- pipes (' | ')
- handles environment variables
- handles the command "&?"
- handles SIGINT and SIGQUIT
- the following builtins:
- echo with option -n
- cd
- pwd (no options)
- export (no options)
- unset (no options)
- env (no options or arguments)
- exit (no options)
Disclaimer:
This project was created as a school project with the strict 42 "Norminette" norm, including:
- variable declarations at the beginning of the file
- no declaration and initialization on the same line
- only while loops allowed
- only 25 lines per function
- only 5 functions per .c file
- no comments inside of functions
- more minor things...