# Minishell Minishell is a 42 School project that involves creating a minimalistic shell in C language. The shell should be able to handle basic commands, manage environment variables and implement several built-in functions. ## Features - Prompt management (display, editing, history) - Command execution (with or without arguments) - Basic shell operations (pipes, redirections) - Environment variables management (listing, setting, unsetting) - Built-in functions management (echo, cd, env, exit, export, pwd, unset) ## Getting started 1. Clone this repository: `git clone https://github.com//minishell.git` 2. `cd` into the cloned directory: `cd minishell` 3. Run the `make` command to compile the program: `make` 4. Start the shell by running the executable: `./minishell` ## Usage Once the shell is started, you can enter commands as you would with any other shell. The following are some examples of commands that can be executed: - Display the working directory: `pwd` - List files in the current directory: `ls` - Change directory: `cd ` - Print the value of an environment variable: `echo $` - Set an environment variable: `export =` - Unset an environment variable: `unset ` - Display a list of environment variables: `env` - Exit the shell: `exit` ## Resources - ![The project subject](./subject.pdf) - The C library documentation for the standard library functions used in the program - bash man ## Authors This project was created by Camille CHAUVET and [Xamora](xamora@42l.fr). If you have any questions or suggestions, feel free to contact us.