Minishell Project

Introduction

The Minishell project involves creating a simplified version of a shell that imitates core functionalities of a traditional Unix-like shell. This project helps in mastering various aspects of systems programming and C language, especially handling processes, file descriptors, and memory management.

Key Takeaways

Forks and Processes

Practical knowledge of creating, managing and communicating between child and parent processes.

Pipes

Implement inter-process communication using pipes, crucial for command pipelining in the shell.

Shell Operations

Basics of how a shell interprets and executes commands and environment variable handling.

Input Parsing

Command line parser to process user input into executable commands.

For further details, bash has been taken as the reference, staying as close to its behaviour as possible within the scope of the project. For more details on this assigment, see subject.pdf.