Minishell is a simplified UNIX shell implemented in C. It supports basic shell functionalities like cd
, export
, wildcard expansion, and more.
- Built-in commands:
cd
,export
,env
, etc. - Environment variable expansion
- Wildcard expansion
- Error handling
- Command execution
- Signal handling
- GCC 9.0+
- readline 8.2
- Linux/MacOS or Windows Subsystem for Linux
git clone git@github.com:emartinez-dev/minishell.git
cd Minishell
make
Run the shell with:
./minishell
include/
: Header files.src/
: Source files.builtins/
: Built-in shell commands.executor/
: Command execution logic.expander/
: String expansion logic.parser/
: Shell parsing logic.prompt/
: Prompt display logic.signals/
: Signal handling.utils/
: Utility functions.wildcard/
: Wildcard expansion logic.
Run make
to compile the Minishell executable.
Additional Makefile targets:
clean
: Removes all compiled object files.fclean
: Removes both compiled object files and the executable.re
: Runsfclean
and compiles the project again.
- Fork the project.
- Create your feature branch:
git checkout -b feature/fooBar
- Commit your changes:
git commit -am 'Add fooBar'
- Push to the branch:
git push origin feature/fooBar
- Open a pull request.
This project is licensed under The Unlicense - see the LICENSE.md file for details.
Created by Enrique Martínez and Juan A. García - feel free to contact us!