Skip to content

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

Notifications You must be signed in to change notification settings

JustShush/42_minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42_minishell

Project in progress

As beautiful as a shell

AboutResource LinksPrerequisitesGetting StartedWhy we got 95/100


💡 About

Write a shell.

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

🔗 Resource Links

  • 📜 Project PDF: PDF

📦 Prerequisites


🚀 Getting Started

  • Open the terminal and run the following commands
git clone git@github.com:JustShush/42_minishell.git
cd 42_minishell
make
./minishell
git clone git@github.com:JustShush/42_minishell.git ; cd 42_minishell ; make ; ./minishell
  • To compile, run make at the root of the 42_minishell directory.
  • To start the project run the executable file at the root of the 42_minishell directory. Example:
$ ./minishell

❌ Why we got 95

Basically execve creates a new process when when we changed the exit status in the child it doesn't get updated in the other process so when we tried the command: env | <invalid_command> and then echo $? it returns 0 instead of 127 for the command not found.

some tests to check

About

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

Resources

Stars

Watchers

Forks