Skip to content

mdev9/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐚 minishell – Custom UNIX Shell πŸ’»

Welcome to minishell, a project that implements a custom UNIX shell from the ground up! 🌟 This shell allows for command execution, pipe management, and process handling. 🌐

πŸ“ Project Overview

In this project, we create a fully functional UNIX shell that supports various commands, piping between processes, and robust error handling. The shell is designed to handle signals πŸ“‘ and fork processes efficiently 🍴, simulating the behavior of bash and other traditional UNIX shells. πŸš€

Features:

  • πŸ”Ή Command execution: Run shell commands with ease.
  • πŸ”Ή Pipe management: Link commands together for streamlined output processing.
  • πŸ”Ή Signal handling: Manage signals effectively within the shell environment.
  • πŸ”Ή Process forking: Create child processes to execute commands.
  • πŸ”Ή Error handling: Robust mechanisms to handle errors gracefully.

πŸ› οΈ Installation & Setup

To get started, follow these steps to set up and run the project:

  1. Clone the repository:

    git clone https://github.com/mdev9/minishell.git
    cd minishell
    make
  2. Run the shell:

    ./minishell

πŸ” Technologies Used

  • C πŸ’»: Primary language used to implement the shell.
  • System Calls πŸ“ž: Leveraging UNIX system calls for process management and execution.
  • Pipes 🚰: Implementing inter-process communication through pipes.
  • Signals ⚑: Handling OS signals for effective process management.

🎯 Goals of the Project

  • Create a functional UNIX shell that mimics common shell behaviors.
  • Understand key operating system concepts such as process management and system calls.
  • Enhance programming skills in C through practical application.

Thank you for checking out minishell! 🌟 Happy coding! πŸ’»

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •