Now finally, we can fight using owr own commands along El-7ag Ebrahim Semple to defeat Valanteno Elbalad. ☝🏻
Bash-Elbalad is a simple Linux shell project designed to mimic basic shell functionalities, aiming to provide a hands-on experience with core Linux shell operations, command execution, file management, and advanced features like piping and redirection.
This project was brought to life in collaboration with @aelaraby6. Working together, we not only built a functional shell but also gained invaluable experience in teamwork, communication, and problem-solving.
- Core Shell Functions: Custom prompt, command execution, history tracking, and arrow key navigation.
- File Management: Supports
cat,touch,rm -f,mv,cp,ls -l,mkdir -p, andrmdir. - Command Composition: Supports redirection (
>), and multiple commands (;).
Clone the repo, compile, and let the shell magic begin:
# Clone the repository
git clone https://github.com/r6mez/Bash-Elbalad.git
cd Bash-Elbalad
# Create a build directory and compile using CMake
mkdir build
cd build
cmake ..
make
# Run the shell
./Bash_ElbaladBash-Elbalad/
├── command.h # Command execution logic
├── data.h # Data structures and global variables
├── general_commands.h # Basic shell commands
├── helper_functions.h # Utility functions for shell operations
├── input_and_history.h # Input handling and command history
├── main.cpp # Entry point of the shell
├── README.md # Project documentation
Check out our TODO.md.
