exajobs / bash-collection

An ongoing & curated collection of awesome software libraries, learning tutorials, Useful links & scripts, tools, resources and cool stuff about Bash.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bash Collection of Tools

Welcome to Bash Tools Community Collection®. An ongoing & curated collection of awesome software libraries, learning tutorials, Useful links & scripts, tools, resources and cool stuff about Bash Scripting. Thanks to our daily readers and contributors. The goal is to build a categorized community-driven collection of very well-known resources. Sharing, suggestions and contributions are always welcome!

What is Bash?

Bash is the shell, or command language interpreter, for the GNU operating system. The name is an acronym for the ‘Bourne-Again SHell’, a pun on Stephen Bourne, the author of the direct ancestor of the current Unix shell sh, which appeared in the Seventh Edition Bell Labs Research version of Unix.

bash

Bash is largely compatible with sh and incorporates useful features from the Korn shell ksh and the C shell csh. It is intended to be a conformant implementation of the IEEE POSIX Shell and Tools portion of the IEEE POSIX specification (IEEE Standard 1003.1). It offers functional improvements over sh for both interactive and programming use.

Shell

Shell is a macro processor which allows for an interactive or non-interactive command execution.

Scripting

Scripting allows for an automatic commands execution that would otherwise be executed interactively one-by-one.

To see what is your default interpreter execute command echo $SHELL:

 $ echo $SHELL
 /bin/bash

Table of Contents

Books and Resources

Command-Line Productivity

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.
  • 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
  • qfc - File-completion widget for Bash and Zsh
  • 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.

Customization

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
  • progress-bar.sh - Simple & sexy progressbar for bash, give it a duration and it will do the rest progress-bar.sh in action.
  • sexy-bash-prompt - Bash prompt with colors, Git statuses, and Git branches
  • bash-sensible - An attempt at saner Bash defaults

Data

Tools for working with data.

  • BigBash - 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 - Docker implemented in 100 lines of bash
  • git-sh - A customized Bash environment suitable for Git work
  • mkdkr - Make + Docker + Shell = CI Pipeline

Downloading and Serving

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
  • xiringuito - SSH-based VPN for poors

Applications

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
  • todo.sh - A simple and extensible shell script for managing your todo.txt file
  • cheapci - A continuous integration framework implemented in bash

Games

All work and no play is a cruddy way to spend your day.

Website

Shell Package Management

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

Shell Script Development

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
  • argbash - Bash argument parsing code generator
  • assert.sh - Bash unit testing framework
  • async-bash - implementation of async functions in bash
  • bats - Bash Automated Testing System
  • bash3boilerplate - Templates to write better Bash scripts
  • bashful - A collection of libraries to simplify writing Bash scripts
  • bashify - few helper functions in bash ( especially string manipulation functions)
  • bashing - Smashing Bash into Pieces - Bash framework for creating command line tools
  • bashly - Bash command line framework and CLI generator
  • bashmanager - mini bash framework for creating command line tools
  • BashScriptTestingLibrary - A unit testing framework for Bash scripts
  • Bash Infinity - A modern boilerplate / framework / standard library for bash
  • bash-modules - a collection of modules for unofficial strict mode
  • bash_unit - bash unit testing enterprise edition framework for professionals
  • mo - Mustache templates in pure bash
  • semver_bash - Semantic Versioning in Bash
  • shellcheck - A static analysis tool for shell scripts
  • shfmt - Format bash programs
  • shunit2 - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit

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 freenode. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there

Our Complete Collection ListS

Other amazingly awesome lists can be found in Collection and Career List.

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, Exajobs has waived all copyright and related or neighboring rights to this work.

About

An ongoing & curated collection of awesome software libraries, learning tutorials, Useful links & scripts, tools, resources and cool stuff about Bash.

License:MIT License