Go to file
2023-03-28 13:31:14 +00:00
builtins fix: "echo $" works 2023-03-22 14:59:19 +01:00
cmd fix: non nuiltins is now startable 2023-03-10 13:34:23 +01:00
data fix: "echo $" works 2023-03-22 14:59:19 +01:00
env fix: exit code 2023-03-22 16:07:27 +01:00
execution fix: exit code 2023-03-22 16:07:27 +01:00
format fix: quote verif is better 2023-03-13 19:28:46 +01:00
libftx core: rebuild of parsing and the execution 2023-03-10 12:32:39 +01:00
parse fix: "echo $" works 2023-03-22 14:59:19 +01:00
redirection fix: "echo $" works 2023-03-22 14:59:19 +01:00
syntax fix: exit code 2023-03-22 16:07:27 +01:00
tester@1c6111b2fd fix: leaks 2023-03-06 17:43:29 +01:00
utils fix: "echo $" works 2023-03-22 14:59:19 +01:00
main.c fix: signal set exit code 2023-03-28 14:38:10 +02:00
Makefile fix 2023-03-13 14:23:27 +01:00
minishell.h fix: non nuiltins is now startable 2023-03-10 13:34:23 +01:00
README.md Update 'README.md' 2023-03-28 13:31:14 +00:00
subject.pdf change: subject 2023-03-27 16:35:34 +02:00
vsupp fix: use builtin 2023-02-21 15:07:14 +01:00

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/<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

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
  • 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
  • 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. If you have any questions or suggestions, feel free to contact us.