Skip to content
May edited this page Feb 17, 2025 · 6 revisions

Welcome to the 42-minishell wiki!

The goal of this project is to create a simple shell. We will learn a lot about processes and file descriptors.

Shell 🐚

A shell is a program that runs the commands.

  • Shells do a lot of things, but their main job is to interpret the commands you type and execute them.
  • often referred to as "REPL"s: Read, Eval (Evaluate those commands, usually by running other programs on your computer), Print, Loop (Give you a new prompt)

Which shell are you using? Bash or Zsh?

  • Ubuntu on WSL? you're probably running a Bash shell.
  • macOS? you're probably running a Zsh shell.

Both are shells and also happen to be powerful programming languages.

  • They have variables, functions, loops, and more.
  • Shells are optimized for running other programs and writing small scripts, not for writing programs.

Clone this wiki locally