Skip to content

Welcome to the Holberton School Simple Shell project! This simple shell, developed by Nour Mohamed Derbeli, Eya Kadri, and Ahmed Hamri, is designed to handle command lines with arguments, manage the PATH, and include built-in functionalities.

Notifications You must be signed in to change notification settings

MohamedNourDerbeli/holbertonschool-simple_shell

Repository files navigation

Holberton School Simple Shell 🤖

Holberton School Logo

Welcome to the Holberton School Simple Shell project! This simple shell, developed by Nour Mohamed Derbeli, Eya Kadri, and Ahmed Hamri, is designed to handle command lines with arguments, manage the PATH, and include built-in functionalities.

Table of Contents

Introduction 💭

This simple shell is a project developed for Holberton School. It includes the following features:

  • Handling command lines with arguments
  • Managing the PATH
  • Not calling fork if the command doesn't exist
  • Implementing the exit built-in to exit the shell
  • Implementing the env built-in to print the current environment

Project Files 📑

The project consists of the following files:

  • AUTHORS
  • README.md (You are here!)
  • built-in.c
  • exec.c
  • free_array.c
  • getenv.c
  • handle_path.c
  • main.c
  • man_1_simple_shell
  • my_strdup.c

Features 🔨

Handling Command Lines

The shell efficiently handles command lines with arguments, ensuring a smooth execution of commands.

PATH Management

The PATH is managed to locate executable files and execute commands.

Non-fork Execution

The fork is not called if the command doesn't exist, optimizing the execution process.

Exit Built-in

The shell includes the exit built-in, allowing users to exit the shell easily.

Usage:

$ exit

Env Built-in

The env built-in is implemented to print the current environment.

Flowchart 📌

Flowchart Logo

Usage 💻

To use the simple shell, follow these steps:

  1. Clone the repository:

    git clone https://github.com/MohamedNourDerbeli/holbertonschool-simple_shell.git
  2. Compile the shell:

    gcc -Wall -Werror -Wextra -pedantic *.c -o hsh
  3. Run the shell:

    ./hsh
  4. Enjoy using the simple shell!

Bugs 📢

No known bugs.

Annotations 📢

We have written an article in which we deepen the internal processes within the shell by typing the command "ls -l *.c". We talk about fundamental elements such as the PATH, and conclude with the permission structure with some examples.

Authors ✒️

Repository 📔

Holberton School Simple Shell Repository

About

Welcome to the Holberton School Simple Shell project! This simple shell, developed by Nour Mohamed Derbeli, Eya Kadri, and Ahmed Hamri, is designed to handle command lines with arguments, manage the PATH, and include built-in functionalities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages