Files
minishell/README.md
2024-10-17 07:34:10 +02:00

1.8 KiB
Raw Permalink Blame History

🐚 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! 💻