Minishell

Welcome to Minishell! This project is part of the 42 curriculum and focuses on creating a simple shell. The goal is to gain a deep understanding of how shells work by implementing key features such as command execution, environment variable management, and signal handling.

Getting Started

To get started with Project Minishell, follow these steps:

  1. Clone the repository
  2. Build the project using: make
  3. Run the shell: ./minishell

Features

  • Command Execution: Execute external commands and programs.
  • Environment Variable Management: Handle environment variables and expansions.
  • Signal Handling: Manage signals to ensure proper shell behavior.
  • Pipelines and Redirections: Support for command pipelines, output/input redirection and heredocs.

Built-in Commands

Minishell includes some built-in commands:

  • echo: Display a message.
  • cd: Change the current directory.
  • pwd: Print the current working directory.
  • export: Set environment variables.
  • unset: Unset environment variables.
  • env: Display the environment variables.
  • exit: Exit the shell.