The minishell project is a simple bash implementation. The project is a part of the School 21 curriculum. The project is written in C.
The minishell is a simple bash implementation with a few built-in commands. The project is written in C. The minishell supports the following built-in commands:
echo
(with -n option)cd
(with only relative or absolute path)pwd
(without any options)export
(without any options)unset
(without any options)env
(without any options and any arguments)exit
(without any options)
The minishell also supports the following features:
- Command line editing
- Signal handling (
Ctrl-C
,Ctrl-D
,Ctrl-\\
) - Environment variables
- Redirections (
>
,>>
,<
,<<
) - Pipes (
|
) - Exit status (
$?
) - Separators (
;
) - Quotes (
'
and"
) - Logical operators (
&&
and||
) - Wildcards (
*
and?
)
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What things you need to install the software and how to install them.
gcc >= 7.5.0
make >= 4.1
sudo apt-get install make
sudo apt-get install gcc
A step by step series of examples that tell you how to get a development env running.
Clone the repository.
git clone https://github.com/LudwigAndreas/minishell.git
cd minishell
Build the project.
make
or build with bonus.
make bonus
Run the project.
./minishell
Explain how to run the automated tests for this system.
make test
After running the program, you will see the minishell prompt. You can enter the command you want to execute. Supported commands and features described in the About section. You can exit the minishell by typing the exit
command.
This project was developed by:
LudwigAndreas | |
---|---|
AndrefHub |
- School 21 - Educational institution
- 42 - Educational institution
- Bash - GNU Project's shell
- Linux - Operating system kernel
- Man - Manual pages for Linux
This project is licensed under the School 21 License - see the LICENSE file for details.