My personal list of delightful Bash scripts and resources.
In addition to this list, consider reading awesome-shell, awesome-zsh or awesome-fish.
- shdoc - Documentation generator for shell scripts.
- jqmd - Write and document your jq/shell scripts with markdown.
- zshelldoc - Doxygen For Shell Scripts.
- mkdkr - Make + Docker + Shell = CI Pipeline.
- todo.sh - A simple and extensible shell script for managing your todo.txt file.
- homeshick - Git dotfile synchronizer written in Bash.
- bashblog (original) - A Bash script that handles blog posting.
- fff (original).
- neofetch (original).
- pfetch (original).
- Dropbox-Uploader - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
- xiringuito - SSH-based "VPN for poors".
- bocker (original) - Docker implemented in 100 lines of bash.
- bash2048 - Bash implementation of 2048 game.
- spark (original).
- Bash-script - Bash scripts.
- bashlets - An experiment in extending the command-line interface.
- bash-stack - modern web framework in bash.
- sherver - Pure Bash lightweight web server.
- bashttpd - A web server written in Bash.
- ngincat - Tiny Bash HTTP server using netcat.
- balls - Bash on Balls.
- bats - Bash Automated Testing System.
- shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
- assert.sh - Bash unit testing framework.
- bash_unit - Bash unit testing enterprise edition framework for professionals.
- bunit - A unit testing framework for Shell scripts - namely Bash.
- assert.sh (original).
- test-runner.bash - Integrations Test Runner for tests.sh.
- mo - Mustache templates in pure Bash.
- ansi - ANSI escape codes in pure bash - change text color, position the cursor, much more.
- argbash - Bash argument parsing code generator.
- semver_bash - Semantic Versioning in Bash.
- shellfire (original)
- bashful (original)
- mkdkr (original)
- JSON.sh (original)
- JSONPath.sh (original)
- TickTick (original)
- resholve - Shell resolver.
- bashup/mdsh - Multi-lingual, Markdown-based Literate Programming... in run-anywhere bash.
- bashup/events - An event/callback/promise system for bash apps that's fast (10k/s), tiny (<2.2K), and portable (bash 3.2+, builtins-only)
- bashup/realpaths - Fast, portable path manipulation and symlink resolution in 2K of pure bash
- modernish - Modernish is a library for writing robust, portable, readable, and powerful programs for POSIX-based shells and utilities.
- bash-oo-framework (original)
- bash3boilerplate - Templates to write better Bash scripts.
- bashful - A collection of libraries to simplify writing Bash scripts.
- bashly - Bash command line framework and CLI generator.
- Bashmatic - An easy to use DSL library for building BASH-based tooling & installers (900+ functions).
- Bash Infinity - A modern boilerplate / framework / standard library for bash.
- bash-modules - A collection of modules for unofficial strict mode.
- ebash - enhanced bash.
- bash-lib - Library for bash utility methods and tools.
- DevOps-Bash-tools - 750+ DevOps Shell Scripts and Advanced Bash environment.
- bashify - Few helper functions in bash (especially string manipulation functions).
- async-bash - Implementation of async functions in bash.
- emitter - Event listeners for bash.
- furious-bash - Furious is a bash script that benchmarks bunch of functions, and gives you the ability to be able to extract the fastest or slowest function.
- mvdan/sh - A shell parser, formatter, and interpreter with bash support; includes shfmt.
- shellcheck - A static analysis tool for shell scripts.
- shellharden - The corrective bash syntax highlighter.
- kcov - Code coverage tool for compiled programs, Python and Bash.
- bash-preexec - zap preexec and precmd functions for Bash just like Zsh.
- bleh.sh - Bash Line Editor―a full-featured line editor written in pure Bash!
- bash-completion - Programmable completion functions for bash.
- 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
- liquidprompt - A full-featured & carefully designed adaptive prompt for Bash & Zsh
- oh-my-git - An opinionated git prompt for bash and zsh
- sexy-bash-prompt - Bash prompt with colors, Git statuses, and Git branches
- bash-sensible - An attempt at saner Bash defaults
- 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.
- 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.
- basher - A package manager for shell scripts.
- bpkg - A lightweight bash package manager.
- basalt - The rock-solid Bash package manager.
- ash - 🐚 A Modular Bash Framework.
- import.bash Golang-like import statement in bash.
- bpm (original).
- bash-it - A community Bash framework.
- oh-my-bash - A delightful community-driven framework for managing your bash configuration, and an auto-update tool so that makes it easy to keep up with the latest updates from the 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 Libera.Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there
- The Bash-Hackers Wiki - Human-readable documentation of any kind about GNU Bash.
- Bash beginner's mistakes (by the Bash-Hackers Wiki).
- Bash Guide - A bash guide for beginners. (by Lhunath)
- Bash FAQ - Answers most of your questions (by Lhunath)
- Bash Pitfalls - Lists the common pitfalls beginners fall into, and how to avoid them
- Bash manual - Bourne-Again Shell manual
- Advanced Bash-Scripting Guide - An in-depth exploration of the art of shell scripting.
- Bash Guide for Beginners (by Machtelt Garrels).
- Bash Programming - Intro/How-to
- bash-handbook - A handbook for those who want to learn Bash without diving in too deeply
- Google's Shell Style Guide - Reasonable advice about code style.
- Sobell's Book - A practical guide to commands, editors, and shell programming.
- WikiBooks: Bash Shell Scripting.
- Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)
- Defensive BASH Programming - Methods to defend your programs from breaking as well as keeping the code tidy and clean.
- Pure Bash Bible - A collection of pure bash alternatives to external processes.
Credit to whetu on Reddit for this post.