Skip to content

maonimisi/simple_shell

Repository files navigation

COLLABORATOR README

Project: Simple Shell

Welcome to the collaborator readme file for the Simple Shell project! This project was built from scratch by Olamide and Mohammed as part of our collaboration for ALX.

Project Overview

The Simple Shell project aims to develop a basic shell program that can execute commands and provide a command-line interface to interact with the underlying operating system. The shell supports various features, including executing built-in commands, handling external commands through forking and executing child processes, managing environment variables, and more.

Collaborator Information

Olamide

  • Name: Olamide
  • Role: Software Engineer & MSLA @Microsoft
  • Responsibilities:
    • Implemented the core functionalities of the shell, such as command execution, input parsing, and handling built-in commands.
    • Worked on the implementation of the command history feature.
    • Collaborated with Mohammed to ensure smooth integration of different components.
    • Conducted extensive testing and debugging to ensure the shell's reliability.

Mohammed

  • Name: Muhammed
  • Role: Software Engineer
  • Responsibilities:
    • Implemented the process creation and management functionalities, including forking and executing external commands.
    • Worked on the implementation of the shell prompt and command line parsing.
    • Collaborated with Olamide to integrate different parts of the shell smoothly.
    • Conducted thorough testing and debugging to ensure the shell's robustness.

Project Structure

The project is organized into multiple source code files, each responsible for a specific component or functionality. Here's an overview of the project structure:

  • shell.c: The main file that contains the entry point of the shell program.
  • shell.h: Header file containing function prototypes and structure definitions used throughout the project.
  • command_execution.c: Implementation of command execution and related functionalities.
  • input_parsing.c: Implementation of input parsing and handling of command line arguments.
  • builtins.c: Implementation of built-in commands.
  • history.c: Implementation of command history feature.
  • utils.c: Utility functions used across different parts of the shell.
  • Makefile: Makefile for compiling and building the shell program.

Getting Started

To run the Simple Shell program, follow these steps:

  1. Clone the project repository from the provided source.
  2. Navigate to the project directory in your terminal.
  3. Use the provided Makefile to compile the shell program by running the command make.
  4. Execute the shell by running the generated executable.
  5. You can now start interacting with the shell by entering commands.

Contribution Guidelines

If you wish to contribute to the project, please consider the following guidelines:

  1. Fork the project repository and create a new branch for your contribution.
  2. Make your changes and additions in the designated branch.
  3. Test your modifications thoroughly and ensure they adhere to the project's coding style and conventions.
  4. Create a pull request to submit your changes for review.
  5. Provide a clear and detailed description of your changes in the pull request.

Contact Information

If you have any questions or need further information, feel free to contact us:

Thank you for your interest and collaboration on the Simple Shell project!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages