awesome-bash/readme.md

154 lines
10 KiB
Markdown
Raw Normal View History

2016-02-08 10:53:03 -05:00
# Awesome Bash [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
> A curated list of delightful Bash scripts and resources.
*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing.*
2016-02-08 19:04:08 -05:00
In addition of this list, you should read the list [awesome-shell](https://github.com/alebcay/awesome-shell). It is a curated list of awesome command-line frameworks, toolkits, guides and gizmos. You may also want to check [awesome-zsh](https://github.com/unixorn/awesome-zsh-plugins) or [awesome-fish](https://github.com/bucaran/awesome-fish). If you are looking for more lists, check [awesome-link](https://github.com/sindresorhus/awesome).
2016-02-08 10:53:03 -05:00
## Books and Resources
2016-02-08 19:15:31 -05:00
- [The Bash-Hackers Wiki](http://wiki.bash-hackers.org/doku.php) - Human-readable documentation of any kind about GNU Bash
2016-02-08 10:53:03 -05:00
- [Bash beginner's mistakes](http://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)
2016-02-08 19:15:31 -05:00
- [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
- [Bash FAQ](http://tiswww.case.edu/php/chet/bash/FAQ) (by [Chet Ramey](http://tiswww.case.edu/php/chet/))
- [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/) - An in-depth exploration of the art of shell scripting
2016-02-08 10:53:03 -05:00
- [Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/) (by Machtelt Garrels)
2016-02-08 19:15:31 -05:00
- [Bash Programming - Intro/How-to](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc)
2016-03-06 08:19:49 -05:00
- [bash-handbook](https://github.com/denysdovhan/bash-handbook) - A handbook for those who want to learn Bash without diving in too deeply
2016-02-08 19:15:31 -05:00
- [Google's Shell Style Guide](https://google.github.io/styleguide/shell.xml) - 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/)
2016-03-06 08:25:04 -05:00
- [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will learn you how to use the terminal and write your the first Bash script.
- [Defensive BASH Programming](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.
2018-06-18 09:47:19 -04:00
- [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - A collection of pure bash alternatives to external processes.
2016-02-08 19:15:31 -05:00
## Command-Line Productivity
*Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.*
2016-05-03 08:11:16 -04:00
- [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.
2016-02-08 19:15:31 -05:00
- [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
2018-06-18 09:54:03 -04:00
- [has](https://github.com/kdabir/has) - `has` helps you check presence of various command line tools and their versions on path
2016-02-08 19:15:31 -05:00
- [hstr](https://github.com/dvorka/hstr) - Bash History Suggest Box
- [qfc](https://github.com/pindexis/qfc) - File-completion widget for Bash and Zsh
- [sshrc](https://github.com/Russell91/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH
## Customization
*Custom prompts, color themes, etc.*
- [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
- [gittify](https://github.com/momeni/gittify) - A colorful Bash prompt + customized Git aliases
- [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh
- [mysql-colorize](https://github.com/horosgrisa/mysql-colorize.bash) - Colorization for mysql comand-line client
- [oh-my-git](https://github.com/arialdomartini/oh-my-git) - An opinionated git prompt for bash and zsh
- [progress-bar.sh](https://github.com/edouard-lopez/progress-bar.sh) - Simple & sexy progressbar for `bash`, give it a duration and it will do the rest ![progress-bar.sh in action](http://pix.toile-libre.org/upload/original/1476311497.gif).
2016-02-08 19:15:31 -05:00
- [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches
2016-03-06 20:21:47 -05:00
- [bash-sensible](https://github.com/mrzool/bash-sensible) - An attempt at saner Bash defaults
2016-02-08 19:15:31 -05:00
## Data
*Tools for working with data.*
- [BigBash](https://github.com/zalando/bigbash) - Open-source converter that generates a bash one-liner from an SQL Select query, no database necessary
2016-02-08 19:15:31 -05:00
## For Developers
*Command-line development, version control, and deployment.*
- [bocker](https://github.com/p8952/bocker) - Docker implemented in 100 lines of bash
- [git-sh](https://github.com/rtomayko/git-sh) - A customized Bash environment suitable for Git work
## Downloading and Serving
*Self-hosted, lightweight servers and networking tools written in shell scripts.*
- [balls](https://github.com/jneen/balls) - Bash on Balls
- [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash
- [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
-   [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat
2018-06-18 09:50:30 -04:00
- [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors
2016-02-08 19:15:31 -05:00
## Applications
2016-02-08 10:53:03 -05:00
2016-02-08 19:15:31 -05:00
*Command line-based applications or command line access to existing services.*
- [bashblog](https://github.com/cfenollosa/bashblog) - A Bash script that handles blog posting
- [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - Bash interface to the PushBullet API
- [todo.sh](https://github.com/todotxt/todo.txt-cli) - A simple and extensible shell script for managing your todo.txt file
- [cheapci](https://github.com/ianmiell/cheapci) - A continuous integration framework implemented in bash
2016-02-08 19:15:31 -05:00
## Games
*All work and no play is a cruddy way to spend your day.*
- [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game
- [minesweeper](https://github.com/feherke/Bash-script/tree/master/minesweeper) - Bash implementation of minesweeper
2018-10-14 14:48:08 -04:00
- [solitaire](https://opensource-usability.blogspot.com/2016/10/solitaire-in-bash-script.html) - Bash implementation of solitaire
2016-02-08 19:15:31 -05:00
## Website
2016-02-08 10:53:03 -05:00
- [Bash One-Liners](http://www.bashoneliners.com/) - A collection of practical or just pure awesome bash one-liners ([repos](https://github.com/janosgyerik/bashoneliners) by @[janosgyerik](https://github.com/janosgyerik))
- [commandlinefu](http://www.commandlinefu.com/) - A repository for the most elegant and useful UNIX commands
2016-02-08 10:53:03 -05:00
2016-02-08 19:15:31 -05:00
## Shell Package Management
*Tools for managing multiple shell configurations.*
- [bash-it](https://github.com/Bash-it/bash-it) - A community Bash framework
- [basher](https://github.com/basherpm/basher) - A package manager for shell scripts
- [bpkg](https://github.com/bpkg/bpkg) - A lightweight bash package manager
2016-02-08 19:15:31 -05:00
- [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash
## Shell Script Development
2016-02-08 10:53:03 -05:00
2016-02-08 19:15:31 -05:00
*Tools for writing, improving, or organizing Bash or other shell scripts*
- [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
2016-02-08 19:15:31 -05:00
- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework
2017-01-23 08:12:48 -05:00
- [BashScriptTestingLibrary](https://github.com/rafritts/BashScriptTestingLibrary) - A unit testing framework for Bash scripts
- [bash3boilerplate](https://github.com/kvz/bash3boilerplate) - Templates to write better Bash scripts
2016-02-08 19:15:31 -05:00
- [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts
- [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools
- [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System
- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals
2016-02-08 19:15:31 -05:00
- [mo](https://github.com/tests-always-included/mo) - Mustache templates in pure bash
- [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash
2016-09-19 16:57:17 -04:00
- [shfmt](https://github.com/mvdan/sh) - Format bash programs
2016-02-08 19:15:31 -05:00
- [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit
- [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools
2016-02-08 10:53:03 -05:00
## Community
- [Stack Overflow](http://stackoverflow.com/questions/tagged/bash) - Bash tag on Stack Overflow
2016-02-08 19:15:31 -05:00
- [/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
2016-02-15 08:14:02 -05:00
- [#bash](https://webchat.freenode.net/?channels=bash) - IRC channel on freenode. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there
2016-02-08 19:15:31 -05:00
# Other Awesome Lists
Other amazingly awesome lists can be found in [awesome-awesome](https://github.com/emijrp/awesome-awesome) and [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness).
2016-02-08 10:53:03 -05:00
## Contribute
Contributions welcome! Read the [contribution guidelines](contributing.md) first.
## License
[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)
To the extent possible under law, aloisdg has waived all copyright and related or neighboring rights to this work.