Awesome Bash Overview
A curated list of delightful Bash scripts and resources.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 awesome-lists/awesome-bash · ⭐ 7.7K · 🏷️ 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 (⭐32k). It is a curated list of awesome command-line frameworks, toolkits, guides and gizmos. You may also want to check awesome-zsh (⭐15k) or awesome-fish (⭐4.1k). If you are looking for more lists, check sindresorhus/awesome (⭐323k).
Contents
- Books and Resources
- Command-Line Productivity
- Customization
- Data
- For Developers
- Downloading and Serving
- Applications
- Games
- Website
- Shell Package Management
- Shell Script Development
- Just for fun
- Community
- Other Awesome Lists
- Contribute
- License
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.7k) - 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 (⭐748) - 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.6k) - How to do things safely in Bash.
Command-Line Productivity
Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.
- aliases (⭐550) - Contextual, dynamic, organized aliases for the bash shell.
- bashhub (⭐1.2k) - Bash history in the cloud. Indexed and searchable ☁️.
- bashhub-server (⭐305) - Privately hosted open source bashhub server.
- bashmarks (⭐1.9k) - Directory bookmarks for the shell.
- ble.sh (⭐2.5k) - User-friendly and feature rich readline replacement, with syntax highlighting, better command completion, and improved multi-line editing.
- commacd (⭐363) - A faster way to move around in Bash.
- forkrun (⭐144) - A pure-bash tool for running code in parallel. Similar in syntax and speed to
xargs -P
, but with more features and native Bash function support. - has (⭐644) -
has
helps you check presence of various command line tools and their versions on path. - hstr (⭐4k) - Bash History Suggest Box.
- qfc (⭐575) - File-completion widget for Bash and Zsh.
- sshrc (⭐215) - Bring your .bashrc, .vimrc, etc. with you when you SSH.
- utility-bash-scripts (⭐420) - Useful bash scripts to do automatable tasks with a single command.
- zoxide (⭐21k) - 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 (⭐142) - Minimalistic theme (prompt) for sexy terminals.
- bash-git-prompt (⭐6.7k) - An informative and fancy Bash prompt for Git users.
- bash-powerline (⭐889) - Powerline-style Bash prompt in pure Bash script.
- bashstrap (⭐1.6k) - A quick way to spruce up macOS terminal.
- git-prompt (⭐327) - Bash prompt with Git, SVN and HG modules.
- gittify (⭐72) - A colorful Bash prompt + customized Git aliases.
- liquidprompt (⭐4.5k) - A full-featured & carefully designed adaptive prompt for Bash & Zsh.
- LS_COLORS (⭐2.1k) - A collection of LS_COLORS definitions.
- mysql-colorize (⭐101) - Colorization for mysql comand-line client.
- oh-my-git (⭐3.7k) - An opinionated git prompt for bash and zsh.
- oh-my-bash (⭐5.8k) - A delightful community-driven framework for managing your bash configuration.
- progress-bar.sh (⭐236) - 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 (⭐285) - 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 (⭐736) - A customized Bash environment suitable for Git work.
- mkdkr (⭐365) - Make + Docker + Shell = CI Pipeline.
Downloading and Serving
Self-hosted, lightweight servers and networking tools written in shell scripts.
- balls (⭐859) - Bash on Balls.
- bashttpd (⭐1.5k) - A web server written in Bash.
- sherver (⭐336) - Pure Bash lightweight web server.
- httpd.sh (⭐115) - A trivial web server in bash, using ctypes.sh.
- Bash-web-server (⭐940) - A purely bash web server, no socat, netcat, etc.
- bash-stack (⭐475) - Modern web framework in bash.
- Dropbox-Uploader (⭐6.6k) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox.
- ngincat (⭐177) - 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 (⭐235) - Bash interface to the PushBullet API.
- todo.sh (⭐5.5k) - A simple and extensible shell script for managing your todo.txt file.
- cheapci (⭐184) - A continuous integration framework implemented in bash.
Games
All work and no play is a cruddy way to spend your day.
- bash2048 (⭐896) - Bash implementation of 2048 game.
- minesweeper (⭐63) - 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 (⭐210) 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 (⭐2.1k) - Git dotfile synchronizer written in Bash.
Shell Script Development
Tools for writing, improving, or organizing Bash or other shell scripts
- ansi (⭐619) - ANSI escape codes in pure bash - change text color, position the cursor, much more.
- argbash (⭐1.4k) - Bash argument parsing code generator.
- assert.sh (⭐488) - Bash unit testing framework.
- async-bash (⭐137) - Implementation of async functions in bash.
- bats (⭐4.9k) - Bash Automated Testing System.
- bash3boilerplate (⭐2.1k) - Templates to write better Bash scripts.
- bashful (⭐602) - A collection of libraries to simplify writing Bash scripts.
- bashify (⭐99) - Few helper functions in bash (especially string manipulation functions).
- bashing (⭐78) - Smashing Bash into Pieces - Bash framework for creating command line tools.
- bashly (⭐2.1k) - Bash command line framework and CLI generator.
- bashmanager (⭐95) - Mini bash framework for creating command line tools.
- Bashmatic (⭐133) - An easy to use DSL library for building BASH-based tooling & installers (900+ functions).
- bunit (⭐196) - A unit testing framework for Bash scripts.
- Bash Infinity (⭐5.6k) - A modern boilerplate / framework / standard library for bash.
- bash-modules (⭐127) - A collection of modules for unofficial strict mode.
- bash_unit (⭐595) - Bash unit testing enterprise edition framework for professionals.
- bashunit (⭐295) - A simple testing library for bash scripts.
- lobash (⭐364) - A modern, safe, powerful utility/library for Bash script development.
- mo (⭐561) - Mustache templates in pure bash.
- semver_bash (⭐246) - Semantic Versioning in Bash.
- shellcheck (⭐36k) - A static analysis tool for shell scripts.
- shellharden (⭐4.6k) - The corrective bash syntax highlighter.
- shfmt (⭐7.1k) - Format bash programs.
- shunit2 (⭐1.6k) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
- DevOps-Bash-tools (⭐2.8k) - 750+ DevOps Shell Scripts and Advanced Bash environment.
- modernish (⭐744) - Library with various features for shell scripting.
- json.bash (⭐427) - Bash library and command-line tool that creates JSON.
Just for fun
- pokeget (⭐36) - 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.8k) and awesome-awesomeness (⭐32k).
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.