A comprehensive collection of interactive bash scripts organized into functional categories, serving as a personal utility toolkit with applications, games, system configuration tools, and calculators.
- Overview
- Prerequisites
- Quick Start
- Script Categories
- Usage Examples
- System Setup
- Contributing
- Author
This repository contains a modular collection of bash utilities designed for:
- Productivity: Calculators and system tools
- Entertainment: Simple terminal games
- Communication: Single-user chat interface with beautiful theming
- System Management: Development environment setup and package management
All scripts are implemented in pure bash with interactive interfaces and visual feedback.
- bash (4.0+ recommended)
- bc (for calculator functions)
- curl and wget (for setup scripts)
- git (for development setup)
- tput (for enhanced terminal formatting)
- Package managers:
apt,dnf, ornala(for system setup scripts)
- Ubuntu/Debian (primary support)
- Fedora (supported)
- Other Linux distributions (basic compatibility)
git clone https://github.com/ijadux2/bash-scripting.git
cd bash.sh# Make all scripts executable at once
./execute.sh
# Or make specific directory scripts executable
cd system.sh && ./execute.sh# Try the basic calculator
cd cal && ./calculator.sh
# Or start the themed chat application
cd chatting-app.sh && ./chat.shcalculator.sh- Basic arithmetic operations (+, -, ร, รท)cal2.sh- Scientific calculator with trigonometric functions
cd cal
./calculator.sh # Basic calculator
./cal2.sh # Scientific calculatorchat.sh- Single-user chat interface with Catppuccin Mocha themingreceiver-chat.sh- Additional chat functionality (in development)
cd chatting-app.sh
./chat.sh # Start themed chat interfacegame.sh- Number guessing game with input validation
cd games.sh
./game.sh # Start number guessing gameface.sh- Animated ASCII face with blinking animationstucture.sh- Directory structure creation utilityexecute.sh- Make local scripts executable
cd system.sh
./face.sh # Animated ASCII face
./stucture.sh # Create directory structuressetup.sh- Ubuntu/Debian development environment setupfedora-setup.sh- Fedora development environment setupupdate.sh- System update utilities
cd system.sh/setup.sh
./setup.sh # Ubuntu/Debian setup
./fedora-setup.sh # Fedora setuppkgs.sh- Automated package installation with dependency checking
cd system.sh/system-pkgs
./pkgs.sh # Install common packagescd cal && ./calculator.sh
# Enter first number: 15
# Enter second number: 3
# Choose operation:
# 1) Addition (+)
# 2) Subtraction (-)
# 3) Multiplication (*)
# 4) Division (/)
# Result: 18cd cal && ./cal2.sh
# Choose operation:
# 5) Sine (sin) - Enter angle in degrees
# Enter angle in degrees: 30
# Result: 0.5000- Catppuccin Mocha color scheme with ANSI escape codes
- Message history with timestamps
- Professional terminal theming with box drawing
- Interactive interface with proper cursor management
The setup scripts install and configure:
- Zsh shell with Oh My Zsh framework
- Development tools: vim, neovim with LazyVim, tmux
- Terminal utilities: fzf, zoxide, ranger
- Modern terminal: ghostty with Nerd Fonts
- Package managers: pacstall (for Ubuntu/Debian)
cd system.sh/setup.sh && ./setup.shThis script installs:
- Git, curl, wget
- Vim and Neovim with LazyVim configuration
- Zsh with Oh My Zsh and custom prompt
- Terminal utilities (fzf, zoxide)
- Ghostty terminal with JetBrains Mono Nerd Font
- Pacstall package manager
- Development applications
cd system.sh/setup.sh && ./fedora-setup.shcd system.sh/system-pkgs && ./pkgs.shAutomatically installs and checks for:
- vim, tmux, vlc, ranger
- Catppuccin Mocha color palette implementation
- ANSI escape codes for true color support
- Dynamic box drawing with Unicode characters
- Cursor management for smooth interfaces
- Input validation with error handling
- Loading spinners with visual feedback
- Interactive prompts with clear instructions
- Graceful exits with proper cleanup
- Modular structure with functional separation
- Consistent naming conventions
- Documented functions with clear purposes
- Cross-distribution compatibility
Feel free to:
- Fork the repository
- Create feature branches
- Add new utilities or improve existing ones
- Submit pull requests
- Place scripts in appropriate category directories
- Make them executable:
chmod +x script.sh - Follow existing patterns for user interaction
- Include proper error handling and validation
Kumar Vaibhav (ijadux2)
- Personal utility toolkit for Linux development
- Focus on interactive terminal applications
- Emphasis on visual design and user experience
- All scripts are designed for personal use and educational purposes
- Chat application messages are not encrypted - use appropriately
- Setup scripts require sudo privileges for system modifications
- Scripts are tested primarily on Ubuntu/Debian and Fedora
- LazyVim - Neovim configuration
- Oh My Zsh - Zsh framework
- Catppuccin - Color scheme
Enjoy exploring and customizing your terminal experience! ๐