Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bash-bastion/awesome-bash

My personal Awesome Bash list.
https://github.com/bash-bastion/awesome-bash

List: awesome-bash

Last synced: 3 months ago
JSON representation

My personal Awesome Bash list.

Awesome Lists containing this project

README

        

# Awesome Bash [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)

> My personal list of delightful Bash scripts and resources.

In addition to this list, consider reading [awesome-shell](https://github.com/alebcay/awesome-shell), [awesome-zsh](https://github.com/unixorn/awesome-zsh-plugins) or [awesome-fish](https://github.com/bucaran/awesome-fish).

## Applications

### Documentation Generation

- [shdoc](https://github.com/reconquest/shdoc) - Documentation generator for shell scripts.
- [jqmd](https://github.com/bashup/jqmd) - Write and document your jq/shell scripts with markdown.
- [zshelldoc](https://github.com/zdharma-continuum/zshelldoc) - Doxygen For Shell Scripts.

### Tools

- [mkdkr](https://github.com/rosineygp/mkdkr) - Make + Docker + Shell = CI Pipeline.
- [todo.sh](https://github.com/todotxt/todo.txt-cli) - A simple and extensible shell script for managing your todo.txt file.
- [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash.
- [bashblog](https://github.com/bash-bastion/bashblog) ([original](https://github.com/cfenollosa/bashblog)) - A Bash script that handles blog posting.
- [fff](https://github.com/bash-bastion/fff) ([original](https://github.com/dylanaraps/fff)).
- [neofetch](https://github.com/bash-bastion/neofetch) ([original](https://github.com/dylanaraps/neofetch)).
- [pfetch](https://github.com/bash-bastion/pfetch) ([original](https://github.com/dylanaraps/pfetch)).
- [Dropbox-Uploader](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
- [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based "VPN for poors".

### Cool Things

- [bocker](https://github.com/bash-bastion/bocker) ([original](https://github.com/p8952/bocker)) - Docker implemented in 100 lines of bash.
- [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game.
- [spark](https://github.com/bash-bastion/spark) ([original](https://github.com/holman/spark)).
- [Bash-script](https://github.com/feherke/Bash-script) - Bash scripts.
- [bashlets](https://github.com/realeroberto/bashlets) - An experiment in extending the command-line interface.

### Web Frameworks

- [bash-stack](https://github.com/cgsdev0/bash-stack) - modern web framework in bash.
- [sherver](https://github.com/remileduc/sherver) - Pure Bash lightweight web server.
- [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash.
- [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat.
- [balls](https://github.com/jneen/balls) - Bash on Balls.

### Testing

- [bats](https://github.com/bats-core) - Bash Automated Testing System.
- [shunit2](https://github.com/kward/shunit2) - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.
- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework.
- [bash_unit](https://github.com/pgrange/bash_unit) - Bash unit testing enterprise edition framework for professionals.
- [bunit](https://github.com/rafritts/bunit) - A unit testing framework for Shell scripts - namely Bash.
- [assert.sh](https://github.com/bash-bastion/assert.sh) ([original](https://github.com/lehmannro/assert.sh)).
- [test-runner.bash](https://github.com/reconquest/test-runner.bash) - Integrations Test Runner for tests.sh.

## Libraries

- [mo](https://github.com/tests-always-included/mo) - Mustache templates in pure Bash.
- [ansi](https://github.com/fidian/ansi) - ANSI escape codes in pure bash - change text color, position the cursor, much more.
- [argbash](https://github.com/matejak/argbash) - Bash argument parsing code generator.
- [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash.
- [shellfire](https://github.com/bash-bastion/shellfire) ([original](https://github.com/shellfire-dev/shellfire))
- [bashful](https://github.com/bash-bastion/bashful) ([original](https://github.com/jmcantrell/bashful))
- [mkdkr](https://github.com/bash-bastion/mkdkr) ([original](https://github.com/rosineygp/mkdkr))
- [JSON.sh](https://github.com/bash-bastion/JSON.sh) ([original](https://github.com/dominictarr/JSON.sh))
- [JSONPath.sh](https://github.com/bash-bastion/JSONPath.sh) ([original](https://github.com/bashtools/JSONPath.sh))
- [TickTick](https://github.com/bash-bastion/TickTick) ([original](https://github.com/kristopolous/TickTick))
- [resholve](https://github.com/abathur/resholve) - Shell resolver.
- [bashup/mdsh](https://github.com/bashup/mdsh) - Multi-lingual, Markdown-based Literate Programming... in run-anywhere bash.
- [bashup/events](https://github.com/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](https://github.com/bashup/realpaths) - Fast, portable path manipulation and symlink resolution in 2K of pure bash

### Reusable Things

- [modernish](https://github.com/modernish/modernish) - Modernish is a library for writing robust, portable, readable, and powerful programs for POSIX-based shells and utilities.
- [bash-oo-framework](https://github.com/bash-bastion/bash-oo-framework) ([original](https://github.com/niieani/bash-oo-framework))
- [bash3boilerplate](https://github.com/kvz/bash3boilerplate) - Templates to write better Bash scripts.
- [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts.
- [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator.
- [Bashmatic](https://github.com/kigster/bashmatic) - An easy to use DSL library for building BASH-based tooling & installers (900+ functions).
- [Bash Infinity](https://github.com/niieani/bash-oo-framework) - A modern boilerplate / framework / standard library for bash.
- [bash-modules](https://github.com/vlisivka/bash-modules) - A collection of modules for [unofficial strict mode](http://redsymbol.net/articles/unofficial-bash-strict-mode).
- [ebash](https://github.com/elibs/ebash) - enhanced bash.
- [bash-lib](https://github.com/cyberark/bash-lib) - Library for bash utility methods and tools.
- [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment.

## Helper Function Things

- [bashify](https://github.com/zombieleet/bashify) - Few helper functions in bash (especially string manipulation functions).
- [async-bash](https://github.com/zombieleet/async-bash) - Implementation of async functions in bash.
- [emitter](https://github.com/zombieleet/emitter) - Event listeners for bash.
- [furious-bash](https://github.com/zombieleet/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.

## Analysis

- [mvdan/sh](https://github.com/mvdan/sh) - A shell parser, formatter, and interpreter with bash support; includes shfmt.
- [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts.
- [shellharden](https://github.com/anordal/shellharden) - The corrective bash syntax highlighter.
- [kcov](https://github.com/SimonKagstrom/kcov) - Code coverage tool for compiled programs, Python and Bash.

## Interactive Tools

- [bash-preexec](https://github.com/rcaloras/bash-preexec) - zap preexec and precmd functions for Bash just like Zsh.
- [bleh.sh](https://github.com/akinomyoga/ble.sh) - Bash Line Editorโ€•a full-featured line editor written in pure Bash!
- [bash-completion](https://github.com/scop/bash-completion) - Programmable completion functions for bash.

## Prompts and Color Themes

- [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy Bash prompt for Git users
- [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline-style Bash prompt in pure Bash script
- [bashstrap](https://github.com/barryclark/bashstrap) - A quick way to spruce up OSX terminal
- [git-prompt](https://github.com/lvv/git-prompt) - Bash prompt with Git, SVN and HG modules
- [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh
- [oh-my-git](https://github.com/arialdomartini/oh-my-git) - An opinionated git prompt for bash and zsh
- [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches
- [bash-sensible](https://github.com/mrzool/bash-sensible) - An attempt at saner Bash defaults

## Command-Line Productivity

- [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for the bash shell.
- [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: Bash history in the cloud. Indexed and searchable.
- [bashhub-server](https://github.com/nicksherron/bashhub-server) - Privately hosted open source bashhub server.
- [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell.
- [commacd](https://github.com/shyiko/commacd) - A faster way to move around in Bash.
- [has](https://github.com/kdabir/has) - `has` helps you check presence of various command line tools and their versions on path.
- [hstr](https://github.com/dvorka/hstr) - Bash History Suggest Box.
- [sshrc](https://github.com/cdown/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH.
- [zoxide](https://github.com/ajeetdsouza/zoxide) - A better way to navigate your filesystem. Written in Rust, cross-shell, and much faster than other autojumpers.

## Package Managers and Tools

- [basher](https://github.com/basherpm/basher) - A package manager for shell scripts.
- [bpkg](https://github.com/bpkg/bpkg) - A lightweight bash package manager.
- [basalt](https://github.com/bash-bastion/basalt) - The rock-solid Bash package manager.
- [ash](https://github.com/ash-shell/ash) - ๐Ÿš A Modular Bash Framework.
- [import.bash](https://github.com/reconquest/import.bash) Golang-like import statement in bash.
- [bpm](https://github.com/bash-bastion/bpm) ([original](https://github.com/bpm-rocks/bpm)).

## Profile Initialization Frameworks

- [bash-it](https://github.com/Bash-it/bash-it) - A community Bash framework.
- [oh-my-bash](https://github.com/ohmybash/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.

## Organizations

- [bash-bastion](https://github.com/bash-bastion)
- [bashup](https://github.com/bashup)
- [ash-shell](https://github.com/ash-shell)
- [reconquest](https://github.com/reconquest?q=&type=all&language=shell&sort=)

## Community

- [Stack Overflow](http://stackoverflow.com/questions/tagged/bash) - Bash tag on Stack Overflow
- [/r/bash](https://www.reddit.com/r/bash) - A subreddit dedicated to bash scripting
- [/r/commandline](https://www.reddit.com/r/commandline) - for anything regarding the command line, in any operating system
- [#bash](https://web.libera.chat/?nick=Guestbash) - IRC channel on Libera.โ€‹Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there

## Books and Resources

- [The Bash-Hackers Wiki](https://web.archive.org/web/20230406205817/https://wiki.bash-hackers.org/) - Human-readable documentation of any kind about GNU Bash.
- [Bash beginner's mistakes](https://web.archive.org/web/20230330234404/https://wiki.bash-hackers.org/scripting/newbie_traps) (by the Bash-Hackers Wiki).
- [Bash Guide](http://mywiki.wooledge.org/BashGuide) - A bash guide for beginners. (by Lhunath)
- [Bash FAQ](http://mywiki.wooledge.org/BashFAQ) - Answers most of your questions (by Lhunath)
- [Bash Pitfalls](http://mywiki.wooledge.org/BashPitfalls) - Lists the common pitfalls beginners fall into, and how to avoid them
- [Bash manual](http://www.gnu.org/software/bash/manual/) - Bourne-Again Shell manual
- [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/) - An in-depth exploration of the art of shell scripting.
- [Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/) (by Machtelt Garrels).
- [Bash Programming - Intro/How-to](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc)
- [bash-handbook](https://github.com/denysdovhan/bash-handbook) - A handbook for those who want to learn Bash without diving in too deeply
- [Google's Shell Style Guide](https://google.github.io/styleguide/shellguide.html) - Reasonable advice about code style.
- [Sobell's Book](http://www.sobell.com/CR3/index.html) - A practical guide to commands, editors, and shell programming.
- [WikiBooks: Bash Shell Scripting](https://en.wikibooks.org/wiki/Bash_Shell_Scripting).
- [Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)](http://redsymbol.net/articles/unofficial-bash-strict-mode/)
- [Defensive BASH Programming](https://web.archive.org/web/20180917174959/http://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming) - Methods to defend your programs from breaking as well as keeping the code tidy and clean.
- [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - A collection of pure bash alternatives to external processes.

## Credit

Credit to whetu on Reddit for [this post](https://old.reddit.com/r/bash/comments/10moz5g/bashkit_v1/j6c4914/).