Update 'README.md'

This commit is contained in:
starnakin 2023-03-27 14:38:13 +00:00
parent c5ddcdc892
commit 689a4e4eb6

View File

@ -1,24 +1,41 @@
# MINISHELL # Minishell
## Bash alternative
## Description
Minishell is a computer project that involves creating a minimalistic shell (or command interpreter) in the C language. A shell is a program that allows the user to interact with the operating system by entering commands from a terminal. 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.
The goal of the Minishell project is to understand how a shell works, particularly how it interprets the commands entered by the user, executes them, and displays the results. The project is usually proposed to computer science students as part of a university curriculum or online training. ## Features
The Minishell project must implement a set of basic commands such as cd (to change directory), echo (to display text), pwd (to display the current directory), and system commands such as ls, cat, grep, etc. The shell must also handle environment variables, processes, and signals. - 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)
The development of the Minishell project is typically done in several stages: first, the user commands must be parsed and transformed into a data structure usable by the program. Next, the different basic commands must be implemented, followed by the system commands. Finally, environment variables, processes, and signals must be managed. ## Getting started
The Minishell project allows students to become familiar with system programming in C, concepts such as processes, signals, environment variables, and interaction with the operating system. It is also an excellent way to deepen programming knowledge and develop problem-solving skills. 1. Clone this repository: `git clone https://github.com/<your_username>/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`
## Team ## Usage
camille@chauvet.pro
xamora@42l.fr
## Requirement 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:
- clang
- readline
## Subject - Display the working directory: `pwd`
![Subject (EN)](./subject.pdf) - List files in the current directory: `ls`
- Change directory: `cd <directory_name>`
- Print the value of an environment variable: `echo $<variable_name>`
- Set an environment variable: `export <variable_name>=<value>`
- Unset an environment variable: `unset <variable_name>`
- 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. If you have any questions or suggestions, feel free to contact me.