Skip to content

UgolinOlle/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minishell

Minishell 42 project badge

42 School Project Language: C

💻・Description

Minishell is a project that challenges you to create your own simple shell, similar to bash. This project delves deep into process creation and management, as well as file descriptors.

Features:

  • Display a prompt for new commands
  • Working command history
  • Search and launch executables based on PATH or absolute/relative paths
  • Handle single quotes (') and double quotes (")
  • Implement redirections (<, >, <<, >>)
  • Implement pipes (|)
  • Handle environment variables
  • Handle $? special variable
  • Handle signals (ctrl-C, ctrl-D, ctrl-)
  • Implement built-in commands: echo, cd, pwd, export, unset, env, exit

Technologies Used:

  • C Language
  • Process Management
  • Signal Handling
  • File Descriptors

⌨️・Usage

  1. Compile the program:
make
  1. Run the shell:
./minishell
  1. You can now enter commands as you would in a regular shell.

🧑‍🤝‍🧑・Contributing

Contributions to this project are welcome. If you find any issues or want to improve the code, please feel free to open a pull request or issue.

📑・License

This project is licensed under the MIT License - see the LICENSE file for details.

📩・Contact

If you have any questions or would like to collaborate, please do not hesitate to contact me at email or LinkedIn