/awesome-bash

A curated list of delightful Bash scripts and resources.

Primary LanguageShell

Awesome Bash Awesome

A curated list of delightful Bash scripts and resources.

Inspired by the awesome list thing.

In addition of this list, you should read the list awesome-shell. It is a curated list of awesome command-line frameworks, toolkits, guides and gizmos. You may also want to check awesome-zsh or awesome-fish. If you are looking for more lists, check awesome-link.

Books and Resources

Command-Line Productivity

Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.

  • aliases - Contextual, dynamic, organized aliases for the bash shell
  • bashhub - ☁️ Bash history in the cloud. Indexed and searchable.
  • bashhub-server - Privately hosted open source bashhub server.
  • bashmarks - Directory bookmarks for the shell
  • commacd - A faster way to move around in Bash
  • has - has helps you check presence of various command line tools and their versions on path
  • hstr - Bash History Suggest Box
  • qfc - File-completion widget for Bash and Zsh
  • sshrc - Bring your .bashrc, .vimrc, etc. with you when you SSH
  • zoxide - A better way to navigate your filesystem. Written in Rust, cross-shell, and much faster than other autojumpers.

Customization

Custom prompts, color themes, etc.

  • aphrodite-terminal-theme — Minimalistic theme (prompt) for sexy terminals.
  • bash-git-prompt - An informative and fancy Bash prompt for Git users
  • bash-powerline - Powerline-style Bash prompt in pure Bash script
  • bashstrap - A quick way to spruce up OSX terminal
  • git-prompt - Bash prompt with Git, SVN and HG modules
  • gittify - A colorful Bash prompt + customized Git aliases
  • liquidprompt - A full-featured & carefully designed adaptive prompt for Bash & Zsh
  • mysql-colorize - Colorization for mysql comand-line client
  • oh-my-git - An opinionated git prompt for bash and zsh
  • progress-bar.sh - Simple & sexy progressbar for bash, give it a duration and it will do the rest progress-bar.sh in action.
  • sexy-bash-prompt - Bash prompt with colors, Git statuses, and Git branches
  • bash-sensible - An attempt at saner Bash defaults

Data

Tools for working with data.

  • BigBash - Open-source converter that generates a bash one-liner from an SQL Select query, no database necessary

For Developers

Command-line development, version control, and deployment.

  • bocker - Docker implemented in 100 lines of bash
  • git-sh - A customized Bash environment suitable for Git work
  • mkdkr - Make + Docker + Shell = CI Pipeline

Downloading and Serving

Self-hosted, lightweight servers and networking tools written in shell scripts.

  • balls - Bash on Balls
  • bashttpd - A web server written in Bash
  • Dropbox-Uploader - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
  • ngincat - Tiny Bash HTTP server using netcat
  • xiringuito - SSH-based VPN for poors

Applications

Command line-based applications or command line access to existing services.

  • bashblog - A Bash script that handles blog posting
  • pushbullet-bash - Bash interface to the PushBullet API
  • todo.sh - A simple and extensible shell script for managing your todo.txt file
  • cheapci - A continuous integration framework implemented in bash

Games

All work and no play is a cruddy way to spend your day.

  • bash2048 - Bash implementation of 2048 game
  • minesweeper - Bash implementation of minesweeper
  • solitaire - Bash implementation of solitaire
  • wordle - Wordle in less than 50 lines of Bash

Website

Shell Package Management

Tools for managing multiple shell configurations.

  • bash-it - A community Bash framework
  • basher - A package manager for shell scripts
  • bpkg - A lightweight bash package manager
  • homeshick - Git dotfile synchronizer written in Bash

Shell Script Development

Tools for writing, improving, or organizing Bash or other shell scripts

  • ansi - ANSI escape codes in pure bash - change text color, position the cursor, much more
  • argbash - Bash argument parsing code generator
  • assert.sh - Bash unit testing framework
  • async-bash - implementation of async functions in bash
  • bats - Bash Automated Testing System
  • bash3boilerplate - Templates to write better Bash scripts
  • bashful - A collection of libraries to simplify writing Bash scripts
  • bashify - few helper functions in bash ( especially string manipulation functions)
  • bashing - Smashing Bash into Pieces - Bash framework for creating command line tools
  • bashly - Bash command line framework and CLI generator
  • bashmanager - mini bash framework for creating command line tools
  • Bashmatic - an easy to use DSL library for building BASH-based tooling & installers (900+ functions).
  • BashScriptTestingLibrary - A unit testing framework for Bash scripts
  • Bash Infinity - A modern boilerplate / framework / standard library for bash
  • bash-modules - a collection of modules for unofficial strict mode
  • bash_unit - bash unit testing enterprise edition framework for professionals
  • mo - Mustache templates in pure bash
  • semver_bash - Semantic Versioning in Bash
  • shellcheck - A static analysis tool for shell scripts
  • shfmt - Format bash programs
  • shunit2 - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit
  • DevOps-Bash-tools - 750+ DevOps Shell Scripts and Advanced Bash environment

Just for fun

  • pokeget - Displays sprites of pokemon in the terminal

Community

  • Stack Overflow - Bash tag on Stack Overflow
  • /r/Bash - A subreddit dedicated to bash scripting
  • /r/CommandLine - for anything regarding the command line, in any operating system
  • #bash - IRC channel on freenode. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there

Other Awesome Lists

Other amazingly awesome lists can be found in awesome-awesome and awesome-awesomeness.

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, aloisdg has waived all copyright and related or neighboring rights to this work.