Skip to content

ijadux2/bash-scripting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

40 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Bash Script Collection

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.

๐Ÿ“‹ Table of Contents

๐Ÿ” Overview

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.

๐Ÿ“ฆ Prerequisites

Required Dependencies

  • bash (4.0+ recommended)
  • bc (for calculator functions)
  • curl and wget (for setup scripts)
  • git (for development setup)

Optional Dependencies

  • tput (for enhanced terminal formatting)
  • Package managers: apt, dnf, or nala (for system setup scripts)

Supported Operating Systems

  • Ubuntu/Debian (primary support)
  • Fedora (supported)
  • Other Linux distributions (basic compatibility)

๐Ÿš€ Quick Start

1. Clone the Repository

git clone https://github.com/ijadux2/bash-scripting.git
cd bash.sh

2. Make Scripts Executable

# Make all scripts executable at once
./execute.sh

# Or make specific directory scripts executable
cd system.sh && ./execute.sh

3. Run Your First Application

# Try the basic calculator
cd cal && ./calculator.sh

# Or start the themed chat application
cd chatting-app.sh && ./chat.sh

๐Ÿ“ Script Categories

๐Ÿงฎ Calculators (cal/)

  • calculator.sh - Basic arithmetic operations (+, -, ร—, รท)
  • cal2.sh - Scientific calculator with trigonometric functions
cd cal
./calculator.sh    # Basic calculator
./cal2.sh         # Scientific calculator

๐Ÿ’ฌ Chat Application (chatting-app.sh/)

  • chat.sh - Single-user chat interface with Catppuccin Mocha theming
  • receiver-chat.sh - Additional chat functionality (in development)
cd chatting-app.sh
./chat.sh         # Start themed chat interface

๐ŸŽฎ Games (games.sh/)

  • game.sh - Number guessing game with input validation
cd games.sh
./game.sh         # Start number guessing game

๐Ÿ› ๏ธ System Utilities (system.sh/)

  • face.sh - Animated ASCII face with blinking animation
  • stucture.sh - Directory structure creation utility
  • execute.sh - Make local scripts executable
cd system.sh
./face.sh         # Animated ASCII face
./stucture.sh     # Create directory structures

Setup Scripts (system.sh/setup.sh/)

  • setup.sh - Ubuntu/Debian development environment setup
  • fedora-setup.sh - Fedora development environment setup
  • update.sh - System update utilities
cd system.sh/setup.sh
./setup.sh        # Ubuntu/Debian setup
./fedora-setup.sh # Fedora setup

Package Management (system.sh/system-pkgs/)

  • pkgs.sh - Automated package installation with dependency checking
cd system.sh/system-pkgs
./pkgs.sh         # Install common packages

๐Ÿ’ก Usage Examples

Basic Calculator Usage

cd cal && ./calculator.sh
# Enter first number: 15
# Enter second number: 3
# Choose operation:
# 1) Addition (+)
# 2) Subtraction (-)
# 3) Multiplication (*)
# 4) Division (/)
# Result: 18

Scientific Calculator with Trigonometry

cd cal && ./cal2.sh
# Choose operation:
# 5) Sine (sin) - Enter angle in degrees
# Enter angle in degrees: 30
# Result: 0.5000

Chat Application Features

  • Catppuccin Mocha color scheme with ANSI escape codes
  • Message history with timestamps
  • Professional terminal theming with box drawing
  • Interactive interface with proper cursor management

System Setup Features

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)

๐Ÿ”ง System Setup

Ubuntu/Debian Development Environment

cd system.sh/setup.sh && ./setup.sh

This 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

Fedora Development Environment

cd system.sh/setup.sh && ./fedora-setup.sh

Package Installation

cd system.sh/system-pkgs && ./pkgs.sh

Automatically installs and checks for:

  • vim, tmux, vlc, ranger

๐ŸŽจ Design Features

Terminal Theming

  • Catppuccin Mocha color palette implementation
  • ANSI escape codes for true color support
  • Dynamic box drawing with Unicode characters
  • Cursor management for smooth interfaces

User Experience

  • Input validation with error handling
  • Loading spinners with visual feedback
  • Interactive prompts with clear instructions
  • Graceful exits with proper cleanup

Code Organization

  • Modular structure with functional separation
  • Consistent naming conventions
  • Documented functions with clear purposes
  • Cross-distribution compatibility

๐Ÿค Contributing

Feel free to:

  1. Fork the repository
  2. Create feature branches
  3. Add new utilities or improve existing ones
  4. Submit pull requests

Adding New Scripts

  1. Place scripts in appropriate category directories
  2. Make them executable: chmod +x script.sh
  3. Follow existing patterns for user interaction
  4. Include proper error handling and validation

๐Ÿ‘จโ€๐Ÿ’ป Author

Kumar Vaibhav (ijadux2)

  • Personal utility toolkit for Linux development
  • Focus on interactive terminal applications
  • Emphasis on visual design and user experience

๐Ÿ“ Notes

  • 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

๐Ÿ”— Related Projects


Enjoy exploring and customizing your terminal experience! ๐Ÿš€

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published