Skip to content

bash-bastion/awesome-bash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Awesome Bash Awesome

My personal list of delightful Bash scripts and resources.

In addition to this list, consider reading awesome-shell, awesome-zsh or awesome-fish.

Applications

Documentation Generation

  • shdoc - Documentation generator for shell scripts.
  • jqmd - Write and document your jq/shell scripts with markdown.
  • zshelldoc - Doxygen For Shell Scripts.

Tools

Cool Things

Web Frameworks

  • 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.

Testing

  • 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.

Libraries

Reusable Things

  • 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.

Helper Function Things

  • 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.

Analysis

  • 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.

Interactive Tools

  • 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.

Prompts and Color Themes

  • 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

Command-Line Productivity

  • 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.

Package Managers and Tools

  • 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).

Profile Initialization Frameworks

  • 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.

Organizations

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

Books and Resources

Credit

Credit to whetu on Reddit for this post.

About

My personal Awesome Bash list.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published