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.
- 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
- Bash FAQ (by Chet Ramey)
- 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
- The Command Line Crash Course - A crash course for some common unix and shell commands
- 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)
- learnyoubash - An interactive workshopper which will learn you how to use the terminal and write your the first Bash script.
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.
- bashmarks - Directory bookmarks for the shell
- commacd - A faster way to move around in Bash
- hstr - Bash History Suggest Box
- qfc - File-completion widget for Bash and Zsh
- sshrc - Bring your .bashrc, .vimrc, etc. with you when you SSH
Custom prompts, color themes, etc.
- 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
- sexy-bash-prompt - Bash prompt with colors, Git statuses, and Git branches
- bash-sensible - An attempt at saner Bash defaults
Tools for working with data.
- BigBash - Open-source converter that generates a bash one-liner from an SQL Select query, no database necessary
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
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
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
All work and no play is a cruddy way to spend your day.
- bash2048 - Bash implementation of 2048 game
- minesweeper - Bash implementation of minesweeper
- Bash One-Liners - A collection of practical or just pure awesome bash one-liners (repos by @janosgyerik)
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
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
- assert.sh - Bash unit testing framework
- bash3boilerplate - Templates to write better Bash scripts
- bashful - A collection of libraries to simplify writing Bash scripts
- bashmanager - mini bash framework for creating command line tools
- bats - Bash Automated Testing System
- bash_unit - bash unit testing enterprise edition framework for professionals
- mo - Mustache templates in pure bash
- semver_bash - Semantic Versioning in Bash
- shfmt - Format bash programs
- shunit2 - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit
- 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 amazingly awesome lists can be found in awesome-awesome and awesome-awesomeness.
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, aloisdg has waived all copyright and related or neighboring rights to this work.