Skip to content

blueyaGIT/minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

408 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minishell

Score: 100/100
Finished: 24.09.2025
Team: @Lilli & @Marzia

minishell

As beautiful as a shell

Summary:

This project is about creating a simple shell. Yes, your own little bash. You will learn a lot about processes and file descriptors.

Usage

To use minishell, clone the repository in the root of your project using one of the following commands:

SSH

git clone git@github.com:blueyaGIT/minishell.git

HTTPS

git clone https://github.com/blueyaGIT/minishell.git

GitHub CLI

gh repo clone blueyaGIT/minishell

This will create a directory called minishell/. Enter it with the command:

cd minishell

Compiling

To compile the program, run:

make

This will generate the minishell executable.

Running the Program

Execute the program:

./minishell

This will run the minishell executable

Features

  • A Prompt just like Bash with working history
  • History is saved during sessions
  • Builtin Commands:
    • echo (with option -n)
    • cd (with relative & absolute path and - and ~)
    • pwd
    • export (with and without args, supports +=)
    • unset
    • env
    • exit
  • execution of external Commands using the $PATH, as well as relative or absolute Paths
  • Redirections: <, >, << & >>
  • Pipes |: The output of each command in the pipeline is connected to the input of the next command via a pipe.
  • Expansion:
    • handle env Variables starting with $
    • handle $?
  • Support interactive and non-interactive mode
  • Signal Handling for CRTl+C, CRTl+D & CRTl+\

For more details, refer to the project documentation or the 42 subject PDF.

🚀 Next Project

⏳ Previous Project

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors