From 7cae958179703e55583d3293035b615034e6afb8 Mon Sep 17 00:00:00 2001 From: Carl Sutton Date: Thu, 23 May 2019 12:13:28 +0200 Subject: [PATCH 01/40] Fix grammar (#44) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 7f98352..ea0aef1 100644 --- a/readme.md +++ b/readme.md @@ -23,7 +23,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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/) -- [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. +- [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will teach 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. - [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - A collection of pure bash alternatives to external processes. From b480fb13f1696422a83f676b89d1029433d5bd14 Mon Sep 17 00:00:00 2001 From: Ryan Delaney <1139517+rpdelaney@users.noreply.github.com> Date: Thu, 23 May 2019 03:15:30 -0700 Subject: [PATCH 02/40] Markdownlint fixes (#45) * Fix overcapitalization * Remove excessive indentation * Remove trailing whitespace * Remove extra newlines * Outdent extra top level header --- readme.md | 152 +++++++++++++++++++++++++++--------------------------- 1 file changed, 75 insertions(+), 77 deletions(-) diff --git a/readme.md b/readme.md index ea0aef1..e081f8e 100644 --- a/readme.md +++ b/readme.md @@ -8,22 +8,22 @@ In addition of this list, you should read the list [awesome-shell](https://githu ## Books and Resources -- [The Bash-Hackers Wiki](http://wiki.bash-hackers.org/doku.php) - Human-readable documentation of any kind about GNU Bash -- [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) -- [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 -- [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/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/) -- [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will teach you how to use the terminal and write your the first Bash script. +- [The Bash-Hackers Wiki](http://wiki.bash-hackers.org/doku.php) - Human-readable documentation of any kind about GNU Bash +- [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) +- [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 +- [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/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/) +- [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will teach 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. - [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - A collection of pure bash alternatives to external processes. @@ -31,114 +31,112 @@ In addition of this list, you should read the list [awesome-shell](https://githu *Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.* -- [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. -- [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 -- [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 +- [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. +- [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 +- [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). -- [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 +- [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). +- [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 ## 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 +- [BigBash](https://github.com/zalando/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](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 +- [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 -- [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors +- [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 +- [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors ## Applications *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 +- [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 ## 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 -- [solitaire](https://opensource-usability.blogspot.com/2016/10/solitaire-in-bash-script.html) - Bash implementation of solitaire +- [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 +- [solitaire](https://opensource-usability.blogspot.com/2016/10/solitaire-in-bash-script.html) - Bash implementation of solitaire ## Website -- [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 - +- [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 ## 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 -- [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash - +- [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 +- [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash ## Shell Script Development *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 -- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework -- [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 -- [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 -- [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 -- [shfmt](https://github.com/mvdan/sh) - Format bash programs -- [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 +- [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 +- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework +- [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 +- [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 +- [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 +- [shfmt](https://github.com/mvdan/sh) - Format bash programs +- [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 ## 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://webchat.freenode.net/?channels=bash) - IRC channel on freenode. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there +- [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://webchat.freenode.net/?channels=bash) - IRC channel on freenode. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there -# Other Awesome Lists +## 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). From ddf93bf4673fd9c3b00aea06758b48517af001f4 Mon Sep 17 00:00:00 2001 From: Alois Date: Mon, 17 Feb 2020 12:18:47 +0100 Subject: [PATCH 03/40] Defensive BASH programming's link has rotten. Switch to wayback machine. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e081f8e..7acd044 100644 --- a/readme.md +++ b/readme.md @@ -24,7 +24,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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/) - [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will teach 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. +- [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. ## Command-Line Productivity From 875e46794bbc38d8544679bd0cb33a859574d8eb Mon Sep 17 00:00:00 2001 From: DataAlchemist Date: Mon, 17 Feb 2020 19:20:11 +0800 Subject: [PATCH 04/40] Add Bash Infinity (#48) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7acd044..801f49c 100644 --- a/readme.md +++ b/readme.md @@ -128,6 +128,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [shfmt](https://github.com/mvdan/sh) - Format bash programs - [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 +- [Bash Infinity](https://github.com/niieani/bash-oo-framework) - A modern boilerplate / framework / standard library for bash ## Community From ed0586b506fa34de9ca1c00427c0ad985791d16a Mon Sep 17 00:00:00 2001 From: 73mp74710n Date: Mon, 17 Feb 2020 12:26:19 +0100 Subject: [PATCH 05/40] add bash utilities by zombieleet (#43) Co-authored-by: Alois --- readme.md | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/readme.md b/readme.md index 801f49c..7238191 100644 --- a/readme.md +++ b/readme.md @@ -114,21 +114,23 @@ In addition of this list, you should read the list [awesome-shell](https://githu *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 -- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework -- [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 -- [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 -- [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 -- [shfmt](https://github.com/mvdan/sh) - Format bash programs -- [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 -- [Bash Infinity](https://github.com/niieani/bash-oo-framework) - A modern boilerplate / framework / standard library for 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 +- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework +- [async-bash](https://github.com/zombieleet/async-bash) - implementation of async functions in bash +- [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System +- [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 +- [bashify](https://github.com/zombieleet/bashify) - few helper functions in bash ( especially string manipulation functions) +- [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools +- [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools +- [BashScriptTestingLibrary](https://github.com/rafritts/BashScriptTestingLibrary) - A unit testing framework for Bash scripts +- [Bash Infinity](https://github.com/niieani/bash-oo-framework) - A modern boilerplate / framework / standard library for bash +- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals +- [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 +- [shfmt](https://github.com/mvdan/sh) - Format bash programs +- [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit ## Community From 130f800e82fd2c19555c9660ff059084c1691be5 Mon Sep 17 00:00:00 2001 From: Rosiney Gomes Pereira Date: Fri, 21 Feb 2020 09:36:54 -0300 Subject: [PATCH 06/40] add mkdkr, ci pipeline using make, docker and shell (#50) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7238191..3e8afc0 100644 --- a/readme.md +++ b/readme.md @@ -68,6 +68,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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 +- [mkdkr](https://github.com/rosineygp/mkdkr) - Make + Docker + Shell = CI Pipeline ## Downloading and Serving From 7209f239b2d2ac12ccc1e70b3552a3edf8559a43 Mon Sep 17 00:00:00 2001 From: Ross Smith II Date: Mon, 29 Mar 2021 12:02:54 -0700 Subject: [PATCH 07/40] Add shellcheck (#59) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3e8afc0..e116015 100644 --- a/readme.md +++ b/readme.md @@ -130,6 +130,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals - [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 +- [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts - [shfmt](https://github.com/mvdan/sh) - Format bash programs - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit From ca483d5b5abc926b02e7a65021aa5c0fb84ab22a Mon Sep 17 00:00:00 2001 From: Danny Ben Shitrit Date: Mon, 29 Nov 2021 18:37:50 +0200 Subject: [PATCH 08/40] Add bashly (#66) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e116015..c20bc8e 100644 --- a/readme.md +++ b/readme.md @@ -124,6 +124,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts - [bashify](https://github.com/zombieleet/bashify) - few helper functions in bash ( especially string manipulation functions) - [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools +- [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator - [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools - [BashScriptTestingLibrary](https://github.com/rafritts/BashScriptTestingLibrary) - A unit testing framework for Bash scripts - [Bash Infinity](https://github.com/niieani/bash-oo-framework) - A modern boilerplate / framework / standard library for bash From 469a1fbe8938c540e86f1a5fc160c2a9de245e65 Mon Sep 17 00:00:00 2001 From: Ajeet D'Souza <98ajeet@gmail.com> Date: Tue, 30 Nov 2021 18:09:08 +0530 Subject: [PATCH 09/40] Fix link to sshrc (#69) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index c20bc8e..3dff62b 100644 --- a/readme.md +++ b/readme.md @@ -38,7 +38,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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 - [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 +- [sshrc](https://github.com/cdown/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH ## Customization From aeaa19009eb6869bb2fff18efefc9d9f11454424 Mon Sep 17 00:00:00 2001 From: Ajeet D'Souza <98ajeet@gmail.com> Date: Tue, 30 Nov 2021 19:01:15 +0530 Subject: [PATCH 10/40] Add zoxide (#53) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3dff62b..3882cff 100644 --- a/readme.md +++ b/readme.md @@ -39,6 +39,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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/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. ## Customization From 44d297294c4a52867c2dcebf501cbbc33c8aa69b Mon Sep 17 00:00:00 2001 From: Volodymyr Lisivka Date: Sun, 5 Dec 2021 14:28:04 +0200 Subject: [PATCH 11/40] Link to bash-modules project is added. (#63) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3882cff..64d6abb 100644 --- a/readme.md +++ b/readme.md @@ -129,6 +129,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools - [BashScriptTestingLibrary](https://github.com/rafritts/BashScriptTestingLibrary) - A unit testing framework for Bash scripts - [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/) - [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals - [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 From 54168765852095be6be1d607540c6e4c47693780 Mon Sep 17 00:00:00 2001 From: Brad Robel-Forrest Date: Thu, 23 Dec 2021 01:17:29 -0800 Subject: [PATCH 12/40] Add contribution context and template (#71) --- .github/pull_request_template.md | 15 +++++++++++ contributing.md | 43 ++++++++++++++++++++++++++------ 2 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..43e7f8c --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,15 @@ + + +#### New App Submission + +- [ ] I've read the [contribution guidelines](https://github.com/awesome-lists/awesome-bash/blob/master/contributing.md). + +**Repo or homepage link:** + +**Description:** + +**Why I think it's awesome:** diff --git a/contributing.md b/contributing.md index 7dea6cd..18b38bf 100644 --- a/contributing.md +++ b/contributing.md @@ -4,16 +4,45 @@ Please note that this project is released with a [Contributor Code of Conduct](c --- -Ensure your pull request adheres to the following guidelines: - - +## App to be submitted Thank you for your suggestions! +Note, however, that not everything will be considered. The aim of the list is to provide a concise set of awesome Bash scripts and resources. This means that suggestions should, where applicable: + +- Use or refer to Bash directly (i.e. there are more appropriate Awesome Lists tracking general CLI tools). +- Do one thing and do it well. +- Have a free and open source license. +- Be easy to install. +- Be well documented. +- Have a decently active community and engaged ownership. + +## Pull Request Style + +#### Ground Rules + +- No duplicates. +- Individual pull request for each suggestion. +- For source code repositories: + - The repository is older than 90 days. + - The repository has more than 50 stars. +- For non-source resource lins: + - Include links to positive discussions indicating this resource has a strong, positive community backing, e.g. a [Reddit](https://reddit.com/), [Hacker News](https://news.ycombinator.com/), [Lobster](https://lobste.rs/), or similiar post. + +#### Formatting & Style + +- The pull request shall be titled: `Add ITEM_NAME`. +- The item is added at the bottom of the relevant category. +- Use the following format: `[ITEM_NAME](LINK) - DESCRIPTION.` + - Description starts with a capital and ends with a full stop (period). + - Try to keep it short and concise. + - No trailing whitespace. + - Check your spelling and grammar. + +### Other Pull Requests + +Pull requests that introduce new categories or improve the readme are always welcome! In that case feel free to disregard the given structure above. + ### Updating your PR A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. There's no need to open a new PR, just edit the existing one. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it. From 05dea9202a87d2256c0366dbcfaf4877bd68018d Mon Sep 17 00:00:00 2001 From: Nick Sherron Date: Sat, 8 Jan 2022 01:42:53 -0500 Subject: [PATCH 13/40] add bashhub-server --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 64d6abb..58a319d 100644 --- a/readme.md +++ b/readme.md @@ -33,6 +33,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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 From d4eddb8af5baea25b127667c788553a5db42c959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alo=C3=AFs=20de=20Gouvello?= Date: Wed, 16 Feb 2022 20:52:01 +0100 Subject: [PATCH 14/40] Add wordle --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 58a319d..ba27553 100644 --- a/readme.md +++ b/readme.md @@ -98,6 +98,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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 - [solitaire](https://opensource-usability.blogspot.com/2016/10/solitaire-in-bash-script.html) - Bash implementation of solitaire +- [wordle](https://gist.github.com/huytd/6a1a6a7b34a0d0abcac00b47e3d01513) - Wordle in less than 50 lines of Bash ## Website From 19e70a43ef9ad428f0cc2e7a7d3191af7fba46d9 Mon Sep 17 00:00:00 2001 From: Tal <83217276+talwat@users.noreply.github.com> Date: Sat, 19 Mar 2022 11:02:28 +0100 Subject: [PATCH 15/40] Added pokeget & just for fun catagory --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index 58a319d..97a3492 100644 --- a/readme.md +++ b/readme.md @@ -138,6 +138,10 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [shfmt](https://github.com/mvdan/sh) - Format bash programs - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit +## Just for fun + +- [pokeget](https://github.com/talwat/pokeget) - Displays sprites of pokemon in the terminal + ## Community - [Stack Overflow](http://stackoverflow.com/questions/tagged/bash) - Bash tag on Stack Overflow From 9127ebfb27cc16b564778ab317e797bd439f0358 Mon Sep 17 00:00:00 2001 From: Emdadul Haque Date: Fri, 13 May 2022 11:32:17 +0600 Subject: [PATCH 16/40] chore: added a link --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 58a319d..39eeb7f 100644 --- a/readme.md +++ b/readme.md @@ -137,6 +137,8 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts - [shfmt](https://github.com/mvdan/sh) - Format bash programs - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit +- [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment + ## Community From b16ee4ccf0846c158b61c471814b0e68de88bef7 Mon Sep 17 00:00:00 2001 From: Emdadul Haque Date: Fri, 20 May 2022 12:25:32 +0600 Subject: [PATCH 17/40] fix: remove extra newline --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 39eeb7f..476d482 100644 --- a/readme.md +++ b/readme.md @@ -139,7 +139,6 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit - [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment - ## Community - [Stack Overflow](http://stackoverflow.com/questions/tagged/bash) - Bash tag on Stack Overflow From ace0c6998cbda1f0812a8b7bb5711c32c2dc5962 Mon Sep 17 00:00:00 2001 From: claycooper Date: Mon, 10 Oct 2022 07:39:07 -0400 Subject: [PATCH 18/40] Updated link to Google guide (#82) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index f19a5e1..d082147 100644 --- a/readme.md +++ b/readme.md @@ -19,7 +19,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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/shell.xml) - Reasonable advice about code style +- [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/) From c1a478a10ac073dcd458ce40bf51e6047fd56469 Mon Sep 17 00:00:00 2001 From: Konstantin Gredeskoul Date: Fri, 11 Nov 2022 05:43:35 -0800 Subject: [PATCH 19/40] Add Bashmatic (#84) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d082147..f135a85 100644 --- a/readme.md +++ b/readme.md @@ -129,6 +129,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools - [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator - [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools +- [Bashmatic](https://github.com/kigster/bashmatic) - an easy to use DSL library for building BASH-based tooling & installers (900+ functions). - [BashScriptTestingLibrary](https://github.com/rafritts/BashScriptTestingLibrary) - A unit testing framework for Bash scripts - [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/) From 4d37bd698e3044e6a14aea7259f4c64f9a8b2ef2 Mon Sep 17 00:00:00 2001 From: Sergei Kolesnikov Date: Fri, 2 Dec 2022 14:11:01 +0300 Subject: [PATCH 20/40] Add Aphrodite Terminal Theme (#85) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f135a85..41c8f17 100644 --- a/readme.md +++ b/readme.md @@ -46,6 +46,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu *Custom prompts, color themes, etc.* +- [aphrodite-terminal-theme](https://github.com/win0err/aphrodite-terminal-theme) — Minimalistic theme (prompt) for sexy terminals. - [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 From dd6ae42053b4de18419f571aeca9ee7dc0e06fec Mon Sep 17 00:00:00 2001 From: Carlo Denaro <818568+blackout314@users.noreply.github.com> Date: Thu, 29 Dec 2022 17:33:57 +0100 Subject: [PATCH 21/40] Rename readme.md to README.md (#87) --- readme.md => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename readme.md => README.md (100%) diff --git a/readme.md b/README.md similarity index 100% rename from readme.md rename to README.md From 8e66e9d1853a3b87ec2ecbc030d8af1d1dc8826d Mon Sep 17 00:00:00 2001 From: Chris Francy Date: Wed, 1 Feb 2023 04:59:19 -0800 Subject: [PATCH 22/40] Migrate from Freenode over to Libra.Chat. (#90) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41c8f17..4099bcf 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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://webchat.freenode.net/?channels=bash) - IRC channel on freenode. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there +- [#bash](https://web.libera.chat/?nick=Guest?#bash) - IRC channel on Libera.​Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there ## Other Awesome Lists From 2e610057a48893df04bd87eae99125ab6408a928 Mon Sep 17 00:00:00 2001 From: Ville-Markus Yli-Suutala Date: Sat, 10 Jun 2023 23:07:25 +0300 Subject: [PATCH 23/40] Replace dead links to bash-hackers.org with links to Wayback Machine --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4099bcf..4a6e806 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ In addition of this list, you should read the list [awesome-shell](https://githu ## Books and Resources -- [The Bash-Hackers Wiki](http://wiki.bash-hackers.org/doku.php) - Human-readable documentation of any kind about GNU Bash -- [Bash beginner's mistakes](http://wiki.bash-hackers.org/scripting/newbie_traps) (by the Bash-Hackers Wiki) +- [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 From 16a805f5ab3078d9f3f23a6d973709355e652d1a Mon Sep 17 00:00:00 2001 From: Filip Makosza Date: Fri, 21 Jul 2023 12:41:54 +0100 Subject: [PATCH 24/40] Add ble.sh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a6e806..d2ac537 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ In addition of this list, you should read the list [awesome-shell](https://githu - [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 +- [ble.sh](https://github.com/akinomyoga/ble.sh) - User-friendly and feature rich readline replacement, with syntax highlighting, better command completion, and improved multi-line editing. - [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 From 7a5708f99cc87edac9cdcdbe542c81f9085d308e Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Tue, 15 Aug 2023 19:21:49 -0700 Subject: [PATCH 25/40] readme: Update Awesome badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d2ac537..634a1a1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome Bash [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +# Awesome Bash [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) > A curated list of delightful Bash scripts and resources. From 13511cf49862f2fac610553fa1adf4b3f4e16215 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Fri, 18 Aug 2023 03:40:11 -0700 Subject: [PATCH 26/40] readme: Fix typos in community links --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d2ac537..6725954 100644 --- a/README.md +++ b/README.md @@ -150,9 +150,9 @@ In addition of this list, you should read the list [awesome-shell](https://githu ## 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=Guest?#bash) - IRC channel on Libera.​Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there +- [/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=Guest&#bash) - IRC channel on Libera.​Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there ## Other Awesome Lists From 0ae19ed8529bb7bf5e946e27c4db4cea35bed399 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Sat, 26 Aug 2023 22:18:03 -0700 Subject: [PATCH 27/40] readme: Fix typos in summary --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6725954..fe79956 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ *Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing.* -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). +In addition to 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 [sindresorhus/awesome](https://github.com/sindresorhus/awesome). ## Books and Resources From f5d2a04da91f8ad85597890f2cd08c15ff7bd4af Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Sat, 7 Oct 2023 02:21:09 -0700 Subject: [PATCH 28/40] readme: Remove dead link (#96) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b48ace5..6733f4a 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,6 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [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 -- [solitaire](https://opensource-usability.blogspot.com/2016/10/solitaire-in-bash-script.html) - Bash implementation of solitaire - [wordle](https://gist.github.com/huytd/6a1a6a7b34a0d0abcac00b47e3d01513) - Wordle in less than 50 lines of Bash ## Website From f2b20e76f0760921edff0f0a2b30de0a41ef5ca0 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Sat, 7 Oct 2023 16:03:55 -0700 Subject: [PATCH 29/40] readme: Remove "inspired by" text (#108) --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 6733f4a..ea36dba 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ > A curated list of delightful Bash scripts and resources. -*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing.* - In addition to 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 [sindresorhus/awesome](https://github.com/sindresorhus/awesome). ## Books and Resources From fe3bfacd2dd2aba288c6ff444371caa8b7aaea35 Mon Sep 17 00:00:00 2001 From: Jose Maria Valera Reales Date: Wed, 11 Oct 2023 11:15:40 +0200 Subject: [PATCH 30/40] Add bashunit: testing library for bash scripts (#109) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea36dba..058340c 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [argbash](https://github.com/matejak/argbash) - Bash argument parsing code generator - [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework - [async-bash](https://github.com/zombieleet/async-bash) - implementation of async functions in bash +- [bashunit](https://github.com/TypedDevs/bashunit) - A simple but powerful testing library for bash scripts - [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System - [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 From 41cc9dde1304c509b5e38258634b3ba743e3860e Mon Sep 17 00:00:00 2001 From: Ben Creasy Date: Thu, 12 Oct 2023 02:05:26 -0700 Subject: [PATCH 31/40] Add modernish (#107) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 058340c..94e37a7 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [shfmt](https://github.com/mvdan/sh) - Format bash programs - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit - [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment +- [modernish](https://github.com/modernish/modernish) - library with various features for shell scripting ## Just for fun From ad9d1e537c08cca6f3f40efea89a155b622f809d Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Thu, 12 Oct 2023 02:06:52 -0700 Subject: [PATCH 32/40] Fix bullet alignment and update repository names (#98) --- README.md | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 94e37a7..67bcf31 100644 --- a/README.md +++ b/README.md @@ -117,34 +117,33 @@ In addition to this list, you should read the list [awesome-shell](https://githu *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 -- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework -- [async-bash](https://github.com/zombieleet/async-bash) - implementation of async functions in bash -- [bashunit](https://github.com/TypedDevs/bashunit) - A simple but powerful testing library for bash scripts -- [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System -- [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 -- [bashify](https://github.com/zombieleet/bashify) - few helper functions in bash ( especially string manipulation functions) -- [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools -- [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator -- [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools -- [Bashmatic](https://github.com/kigster/bashmatic) - an easy to use DSL library for building BASH-based tooling & installers (900+ functions). -- [BashScriptTestingLibrary](https://github.com/rafritts/BashScriptTestingLibrary) - A unit testing framework for Bash scripts -- [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/) -- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals -- [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 -- [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts -- [shfmt](https://github.com/mvdan/sh) - Format bash programs -- [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit -- [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment -- [modernish](https://github.com/modernish/modernish) - library with various features for shell scripting +- [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 +- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework +- [async-bash](https://github.com/zombieleet/async-bash) - implementation of async functions in bash +- [bats](https://github.com/bats-core/bats-core) - Bash Automated Testing System +- [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 +- [bashify](https://github.com/zombieleet/bashify) - few helper functions in bash ( especially string manipulation functions) +- [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools +- [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator +- [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools +- [Bashmatic](https://github.com/kigster/bashmatic) - an easy to use DSL library for building BASH-based tooling & installers (900+ functions). +- [bunit](https://github.com/rafritts/bunit) - A unit testing framework for Bash scripts +- [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/) +- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals +- [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 +- [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts +- [shfmt](https://github.com/mvdan/sh) - Format bash programs +- [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit +- [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment +- [modernish](https://github.com/modernish/modernish) - library with various features for shell scripting ## Just for fun -- [pokeget](https://github.com/talwat/pokeget) - Displays sprites of pokemon in the terminal +- [pokeget](https://github.com/talwat/pokeget) - Displays sprites of pokemon in the terminal ## Community From 19ac2d7c3a3c1c1689b6c8e707eaa372aa126b83 Mon Sep 17 00:00:00 2001 From: Herby Gillot Date: Mon, 16 Oct 2023 19:56:42 -0400 Subject: [PATCH 33/40] Re-add bashunit (#111) https://github.com/TypedDevs/bashunit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 67bcf31..87edc1b 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,8 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [bunit](https://github.com/rafritts/bunit) - A unit testing framework for Bash scripts - [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/) -- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals +- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals +- [bashunit](https://github.com/TypedDevs/bashunit) - A simple testing library for bash scripts - [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 - [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts From 20ec577604cbb06b473e5f22bcbbf0ea3bbd99c5 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Tue, 17 Oct 2023 09:32:41 -0700 Subject: [PATCH 34/40] Add ExplainShell (#110) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 87edc1b..105a4de 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will teach you how to use the terminal and write your the first Bash script. - [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. +- [explainshell](https://explainshell.com) - A website that breaks down and explains shell (Bash) commands (including their flags and options). ## Command-Line Productivity From 3ffbccf2fac778e06c93a6cdb51ba69d3f228dfa Mon Sep 17 00:00:00 2001 From: mmhj Date: Wed, 18 Oct 2023 23:06:50 +0200 Subject: [PATCH 35/40] Added LS_COLORS to the list of customizations (#114) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 105a4de..85d10f3 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [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 +- [LS_COLORS](https://github.com/trapd00r/LS_COLORS) - A collection of LS_COLORS definitions - [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). From 3fa7aa068b9fcb9720cd79803e6a26e4c272a0e3 Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Mon, 23 Oct 2023 03:37:14 -0700 Subject: [PATCH 36/40] readme: Improve formatting consistency (#113) --- README.md | 166 +++++++++++++++++++++++++++--------------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index 85d10f3..a95cc51 100644 --- a/README.md +++ b/README.md @@ -6,19 +6,19 @@ In addition to this list, you should read the list [awesome-shell](https://githu ## 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 +- [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) - List of Bash beginne mistakes (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. - [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 -- [Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/) (by Machtelt Garrels) +- [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/) - Bash guide for beginners (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 +- [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/) - [learnyoubash](https://github.com/denysdovhan/learnyoubash) - An interactive workshopper which will teach you how to use the terminal and write your the first Bash script. @@ -30,130 +30,130 @@ In addition to this list, you should read the list [awesome-shell](https://githu *Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.* -- [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. +- [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for the bash shell. +- [bashhub](https://github.com/rcaloras/bashhub-client) - Bash history in the cloud. Indexed and searchable :cloud:. - [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 +- [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell. - [ble.sh](https://github.com/akinomyoga/ble.sh) - User-friendly and feature rich readline replacement, with syntax highlighting, better command completion, and improved multi-line editing. -- [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 -- [qfc](https://github.com/pindexis/qfc) - File-completion widget for Bash and Zsh -- [sshrc](https://github.com/cdown/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH +- [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. +- [qfc](https://github.com/pindexis/qfc) - File-completion widget for Bash and Zsh. +- [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. ## Customization *Custom prompts, color themes, etc.* -- [aphrodite-terminal-theme](https://github.com/win0err/aphrodite-terminal-theme) — Minimalistic theme (prompt) for sexy terminals. -- [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 -- [LS_COLORS](https://github.com/trapd00r/LS_COLORS) - A collection of LS_COLORS definitions -- [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). -- [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 +- [aphrodite-terminal-theme](https://github.com/win0err/aphrodite-terminal-theme) - Minimalistic theme (prompt) for sexy terminals. +- [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 macOS 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. +- [LS_COLORS](https://github.com/trapd00r/LS_COLORS) - A collection of LS_COLORS definitions. +- [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. +- [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. ## 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 +- [BigBash](https://github.com/zalando/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](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 -- [mkdkr](https://github.com/rosineygp/mkdkr) - Make + Docker + Shell = CI Pipeline +- [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. +- [mkdkr](https://github.com/rosineygp/mkdkr) - Make + Docker + Shell = CI Pipeline. ## 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 -- [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors +- [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. +- [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors. ## Applications *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 +- [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. ## 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 -- [wordle](https://gist.github.com/huytd/6a1a6a7b34a0d0abcac00b47e3d01513) - Wordle in less than 50 lines of Bash +- [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. +- [wordle](https://gist.github.com/huytd/6a1a6a7b34a0d0abcac00b47e3d01513) - Wordle in less than 50 lines of Bash. ## Website -- [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 +- [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. ## 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 -- [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash +- [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. +- [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash. ## Shell Script Development *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 -- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework -- [async-bash](https://github.com/zombieleet/async-bash) - implementation of async functions in bash -- [bats](https://github.com/bats-core/bats-core) - Bash Automated Testing System -- [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 -- [bashify](https://github.com/zombieleet/bashify) - few helper functions in bash ( especially string manipulation functions) -- [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools -- [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator -- [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools -- [Bashmatic](https://github.com/kigster/bashmatic) - an easy to use DSL library for building BASH-based tooling & installers (900+ functions). -- [bunit](https://github.com/rafritts/bunit) - A unit testing framework for Bash scripts -- [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/) -- [bash_unit](https://github.com/pgrange/bash_unit) - bash unit testing enterprise edition framework for professionals -- [bashunit](https://github.com/TypedDevs/bashunit) - A simple testing library for bash scripts -- [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 -- [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts -- [shfmt](https://github.com/mvdan/sh) - Format bash programs -- [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit -- [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment -- [modernish](https://github.com/modernish/modernish) - library with various features for shell scripting +- [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. +- [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework. +- [async-bash](https://github.com/zombieleet/async-bash) - Implementation of async functions in bash. +- [bats](https://github.com/bats-core/bats-core) - Bash Automated Testing System. +- [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. +- [bashify](https://github.com/zombieleet/bashify) - Few helper functions in bash (especially string manipulation functions). +- [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces - Bash framework for creating command line tools. +- [bashly](https://github.com/DannyBen/bashly) - Bash command line framework and CLI generator. +- [bashmanager](https://github.com/lingtalfi/bashmanager) - Mini bash framework for creating command line tools. +- [Bashmatic](https://github.com/kigster/bashmatic) - An easy to use DSL library for building BASH-based tooling & installers (900+ functions). +- [bunit](https://github.com/rafritts/bunit) - A unit testing framework for Bash scripts. +- [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. +- [bash_unit](https://github.com/pgrange/bash_unit) - Bash unit testing enterprise edition framework for professionals. +- [bashunit](https://github.com/TypedDevs/bashunit) - A simple testing library for bash scripts. +- [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. +- [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts. +- [shfmt](https://github.com/mvdan/sh) - Format bash programs. +- [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit. +- [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment. +- [modernish](https://github.com/modernish/modernish) - Library with various features for shell scripting. ## Just for fun -- [pokeget](https://github.com/talwat/pokeget) - Displays sprites of pokemon in the terminal +- [pokeget](https://github.com/talwat/pokeget) - Displays sprites of pokemon in the terminal. ## 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=Guest&#bash) - IRC channel on Libera.​Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there +- [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=Guest&#bash) - IRC channel on Libera.​Chat. The main contributors of the BashGuide, BashFAQ, BashPitfalls and ShellCheck hang around there. ## Other Awesome Lists From b9c4c12484ff9bd9202164566e4591817570594d Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Sat, 18 Nov 2023 16:48:46 -0800 Subject: [PATCH 37/40] Add sherver (#115) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a95cc51..6ae617f 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [balls](https://github.com/jneen/balls) - Bash on Balls. - [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash. +- [sherver](https://github.com/remileduc/sherver) - Pure Bash lightweight web server. - [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. - [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors. From 14e8bf59c6ed64fe684633c0d50201499c5fb0c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alo=C3=AFs=20de=20Gouvello?= Date: Tue, 19 Dec 2023 00:28:34 +0100 Subject: [PATCH 38/40] Add shellharden (#60) Co-authored-by: Edwin Kofler --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6ae617f..bb45aa2 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [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. - [explainshell](https://explainshell.com) - A website that breaks down and explains shell (Bash) commands (including their flags and options). +- [Safe ways to do things in bash](https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md) - How to do things safely in Bash. ## Command-Line Productivity @@ -140,6 +141,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [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. - [shellcheck](https://github.com/koalaman/shellcheck) - A static analysis tool for shell scripts. +- [shellharden](https://github.com/anordal/shellharden) - The corrective bash syntax highlighter. - [shfmt](https://github.com/mvdan/sh) - Format bash programs. - [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit. - [DevOps-Bash-tools](https://github.com/HariSekhon/DevOps-Bash-tools) - 750+ DevOps Shell Scripts and Advanced Bash environment. From d718703c9109bf9aa5c63f7daa368d1927f7621e Mon Sep 17 00:00:00 2001 From: Edwin Kofler Date: Fri, 5 Jan 2024 14:46:25 -0800 Subject: [PATCH 39/40] Add Bash web projects (#117) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index bb45aa2..f5ae293 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,9 @@ In addition to this list, you should read the list [awesome-shell](https://githu - [balls](https://github.com/jneen/balls) - Bash on Balls. - [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash. - [sherver](https://github.com/remileduc/sherver) - Pure Bash lightweight web server. +- [httpd.sh](https://github.com/cemeyer/httpd.sh) - A trivial web server in bash, using ctypes.sh. +- [Bash-web-server](https://github.com/dzove855/Bash-web-server) - A purely bash web server, no socat, netcat, etc. +- [bash-stack](https://github.com/cgsdev0/bash-stack) - modern web framework 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. - [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based VPN for poors. From 5b9982bb7b9d68a75ab048a0caff87e9472d880a Mon Sep 17 00:00:00 2001 From: Jacob Rice <122581217+jacobr130@users.noreply.github.com> Date: Fri, 9 Feb 2024 02:00:33 -0600 Subject: [PATCH 40/40] Fix typo (#120) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5ae293..e4f47f9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ In addition to this list, you should read the list [awesome-shell](https://githu ## 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) - List of Bash beginne mistakes (by the Bash-Hackers Wiki). +- [Bash beginner's mistakes](https://web.archive.org/web/20230330234404/https://wiki.bash-hackers.org/scripting/newbie_traps) - List of Bash beginner mistakes (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.