Awesome Bash Overview
A curated list of delightful Bash scripts and resources.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 awesome-lists/awesome-bash · ⭐ 6.9K · 🏷️ Development Environment
Awesome Bash
A curated list of delightful Bash scripts and resources.
In addition to this list, you should read the list awesome-shell (⭐30k). It is a curated list of awesome command-line frameworks, toolkits, guides and gizmos. You may also want to check awesome-zsh (⭐14k) or awesome-fish (⭐3.8k). If you are looking for more lists, check sindresorhus/awesome (⭐287k).
Books and Resources
- The Bash-Hackers Wiki - Human-readable documentation of any kind about GNU Bash.
- Bash beginner's mistakes - List of Bash beginner 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.
- Bash FAQ (by Chet Ramey)
- Advanced Bash-Scripting Guide - An in-depth exploration of the art of shell scripting.
- Bash Guide for Beginners - Bash guide for beginners (by Machtelt Garrels).
- Bash Programming - Intro/How-to
- bash-handbook (⭐5.5k) - 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)
- learnyoubash (⭐719) - An interactive workshopper which will teach you how to use the terminal and write your the first Bash script.
- Defensive BASH Programming - Methods to defend your programs from breaking as well as keeping the code tidy and clean.
- Pure Bash Bible (⭐36k) - A collection of pure bash alternatives to external processes.
- explainshell - A website that breaks down and explains shell (Bash) commands (including their flags and options).
- Safe ways to do things in bash (⭐4.5k) - How to do things safely in Bash.
Command-Line Productivity
Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.
- aliases (⭐509) - Contextual, dynamic, organized aliases for the bash shell.
- bashhub (⭐1.2k) - Bash history in the cloud. Indexed and searchable ☁️.
- bashhub-server (⭐294) - Privately hosted open source bashhub server.
- bashmarks (⭐1.8k) - Directory bookmarks for the shell.
- ble.sh (⭐1.8k) - User-friendly and feature rich readline replacement, with syntax highlighting, better command completion, and improved multi-line editing.
- commacd (⭐357) - A faster way to move around in Bash.
- has (⭐594) -
has
helps you check presence of various command line tools and their versions on path. - hstr (⭐3.8k) - Bash History Suggest Box.
- qfc (⭐569) - File-completion widget for Bash and Zsh.
- sshrc (⭐182) - Bring your .bashrc, .vimrc, etc. with you when you SSH.
- zoxide (⭐13k) - 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 (⭐112) - Minimalistic theme (prompt) for sexy terminals.
- bash-git-prompt (⭐6.6k) - An informative and fancy Bash prompt for Git users.
- bash-powerline (⭐874) - Powerline-style Bash prompt in pure Bash script.
- bashstrap (⭐1.6k) - A quick way to spruce up macOS terminal.
- git-prompt (⭐326) - Bash prompt with Git, SVN and HG modules.
- gittify (⭐69) - A colorful Bash prompt + customized Git aliases.
- liquidprompt (⭐4.4k) - A full-featured & carefully designed adaptive prompt for Bash & Zsh.
- LS_COLORS (⭐2k) - A collection of LS_COLORS definitions.
- mysql-colorize (⭐98) - Colorization for mysql comand-line client.
- oh-my-git (⭐3.6k) - An opinionated git prompt for bash and zsh.
- progress-bar.sh (⭐225) - Simple & sexy progressbar for
bash
, give it a duration and it will do the rest. - sexy-bash-prompt (⭐1.1k) - Bash prompt with colors, Git statuses, and Git branches.
- bash-sensible (⭐2k) - An attempt at saner Bash defaults.
Data
Tools for working with data.
- BigBash (⭐282) - 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 (⭐11k) - Docker implemented in 100 lines of bash.
- git-sh (⭐732) - A customized Bash environment suitable for Git work.
- mkdkr (⭐352) - Make + Docker + Shell = CI Pipeline.
Downloading and Serving
Self-hosted, lightweight servers and networking tools written in shell scripts.
- balls (⭐853) - Bash on Balls.
- bashttpd (⭐1.5k) - A web server written in Bash.
- sherver (⭐335) - Pure Bash lightweight web server.
- httpd.sh (⭐110) - A trivial web server in bash, using ctypes.sh.
- Bash-web-server (⭐660) - A purely bash web server, no socat, netcat, etc.
- bash-stack (⭐360) - modern web framework in bash.
- Dropbox-Uploader (⭐6.5k) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox.
- ngincat (⭐171) - Tiny Bash HTTP server using netcat.
- xiringuito (⭐1.1k) - SSH-based VPN for poors.
Applications
Command line-based applications or command line access to existing services.
- bashblog (⭐1.6k) - A Bash script that handles blog posting.
- pushbullet-bash (⭐228) - Bash interface to the PushBullet API.
- todo.sh (⭐5.4k) - A simple and extensible shell script for managing your todo.txt file.
- cheapci (⭐182) - A continuous integration framework implemented in bash.
Games
All work and no play is a cruddy way to spend your day.
- bash2048 (⭐885) - Bash implementation of 2048 game.
- minesweeper (⭐54) - Bash implementation of minesweeper.
- wordle - Wordle in less than 50 lines of Bash.
Website
- Bash One-Liners - A collection of practical or just pure awesome bash one-liners (repos (⭐204) by @janosgyerik).
- commandlinefu - A repository for the most elegant and useful UNIX commands.
Shell Package Management
Tools for managing multiple shell configurations.
- bash-it (⭐14k) - A community Bash framework.
- basher (⭐1.1k) - A package manager for shell scripts.
- bpkg (⭐1.9k) - A lightweight bash package manager.
- homeshick (⭐2k) - Git dotfile synchronizer written in Bash.
Shell Script Development
Tools for writing, improving, or organizing Bash or other shell scripts
- ansi (⭐554) - ANSI escape codes in pure bash - change text color, position the cursor, much more.
- argbash (⭐1.3k) - Bash argument parsing code generator.
- assert.sh (⭐479) - Bash unit testing framework.
- async-bash (⭐135) - Implementation of async functions in bash.
- bats (⭐4.5k) - Bash Automated Testing System.
- bash3boilerplate (⭐2.1k) - Templates to write better Bash scripts.
- bashful (⭐591) - A collection of libraries to simplify writing Bash scripts.
- bashify (⭐98) - Few helper functions in bash (especially string manipulation functions).
- bashing (⭐73) - Smashing Bash into Pieces - Bash framework for creating command line tools.
- bashly (⭐1.8k) - Bash command line framework and CLI generator.
- bashmanager (⭐90) - Mini bash framework for creating command line tools.
- Bashmatic (⭐114) - An easy to use DSL library for building BASH-based tooling & installers (900+ functions).
- bunit (⭐192) - A unit testing framework for Bash scripts.
- Bash Infinity (⭐5.5k) - A modern boilerplate / framework / standard library for bash.
- bash-modules (⭐118) - A collection of modules for unofficial strict mode.
- bash_unit (⭐564) - Bash unit testing enterprise edition framework for professionals.
- bashunit (⭐198) - A simple testing library for bash scripts.
- mo (⭐531) - Mustache templates in pure bash.
- semver_bash (⭐240) - Semantic Versioning in Bash.
- shellcheck (⭐34k) - A static analysis tool for shell scripts.
- shellharden (⭐4.5k) - The corrective bash syntax highlighter.
- shfmt (⭐6.5k) - Format bash programs.
- shunit2 (⭐1.5k) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
- DevOps-Bash-tools (⭐2.3k) - 750+ DevOps Shell Scripts and Advanced Bash environment.
- modernish (⭐712) - Library with various features for shell scripting.
Just for fun
- pokeget (⭐29) - 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 Libera.Chat. 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 (⭐2.6k) and awesome-awesomeness (⭐31k).
Contribute
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, aloisdg has waived all copyright and related or neighboring rights to this work.