This project is a tutorial that demonstrates how to create a Bash shell from scratch in C. The tutorial is based on the following resources:
- The Linux Programming Interface by Michael Kerrisk
- Writing Your Own Shell by Brennan D Baraban
- Familiarity with C programming
- Basic knowledge of Unix shell scripting
- Linux, Macos, Windows
- Clang, GCC (C compailer)
- Clone or download the repository to your local machine.
- Follow the instructions in the
README.md
file in the tutorial directory to build and run the Bash shell from scratch.
- What is Bash ?
- Difference between sh and bash ?
- How to Parse Command Line Arguments in Bash
- What is a Lexer ? known also as Tokenizer or Scanner - Lexical Analysis
- Lexer vs parser
- What is pipe in c ?
- Difference between fork() and exec()
- dup() and dup2() Linux system call
- What are Linux signals ?
git clone https://github.com/sFinOe/Bash-From-Scratch.git
cd Bash-From-Scratch
make && ./minishell
Enjoy My BashYum <3
For support, email [email protected] or [email protected].