A community Bash framework.
Go to file
John D Pell c2c76a380a
plugin/base: improvements (#1930)
* plugins/base: code style improvements

Quote variables, use $@ and $array[@] instead of $*, typeset some integers, remove unneccesasary binary invocation, use shell features when possible, remove `eval`, &c.

* plugins/base: conditional function definitions

Instead of functions failing when required tools aren't installed, just don't define the function.
Alsö, don't redefine del() if it already exists.

* plugins/base: rewrite `usage()`

Reimplement disk usage function using Bash syntax and simpler layout, without having to invoke an external binary.

* plugins/base: revamp `quiet()`

New implementation that is even quieter.

* plugins/base: `myip()`

* plugins/base: `pickfrom()`

* plugins/base: `passgen()`

Fix `passgen()` to not need `tr`, remove one subshell, and eliminate a useless `echo`.

* plugins/base: `mkcd()`

* plugins/base: `mkiso()`

* plugins/base: remove `banish-cookies()`

Adobe Flash is gone with the wind. Alsö, this would be something someone would do *once* and shouldn't be a function...

* plugins/base: `lsgrep` is SC2010

The `lsgrep()` function is *itself* explicitly forbidden by `shellcheck` rule SC2010.

Alsö, s/`$*`/`$@`

* plugins/base: `mkiso()`

Expressly handle unbound parameters.

* plugins/base: remove `command_exists`

* plugin/base: lint SC2154 && SC2144

Newly undisabled `shellcheck` rules

* plugin/base: import libs for tests

* plugin/base: `shfmt`

Apply `shfmt` using current project settings. My apologies to future `git blame` hunters. ♥
2021-09-28 15:13:27 +03:00
.github Delete `.shellcheckrc` (#1947) 2021-09-18 12:50:59 +03:00
aliases/available aliases/vim: simplify code flow 2021-09-22 13:21:16 -07:00
completion/available Merge pull request #1961 from gaelicWizard/completion-wpscan 2021-09-28 15:02:25 +03:00
custom Fix bogus bash binary location 2012-04-17 00:24:58 -04:00
docs move to Libera.Chat 2021-07-06 22:21:46 -05:00
hooks Delete `.shellcheckrc` (#1947) 2021-09-18 12:50:59 +03:00
lib lib/helpers: simplify `_command_exists()` and `_binary_exists()` 2021-09-19 21:58:48 -07:00
plugins/available plugin/base: improvements (#1930) 2021-09-28 15:13:27 +03:00
scripts Delete `.shellcheckrc` (#1947) 2021-09-18 12:50:59 +03:00
template add command time duration plugin (#1683) 2020-12-27 18:48:17 +02:00
test plugin/base: improvements (#1930) 2021-09-28 15:13:27 +03:00
test_lib Updated to bats-core v1.2.0 2020-04-29 16:03:30 +02:00
themes theme/dulcie: use `_command_exists` 2021-09-19 21:58:48 -07:00
vendor Add "jboss-completion" from "https://github.com/rparree/jboss-bash-completion@master" 2021-02-13 10:34:49 +02:00
.ackrc Ignore the enabled directories when running ack 2016-03-25 15:29:10 -05:00
.editorconfig EditorConfig: set `indent_size = tab` 2021-09-17 10:44:53 -07:00
.gitattributes Allow trailing spaces in md/rst files 2020-12-17 01:42:25 +02:00
.gitignore Squashed 'vendor/github.com/erichs/composure/' content from commit 5c3698d 2021-01-31 14:56:34 +01:00
.gitmodules Updated to bats-core v1.2.0 2020-04-29 16:03:30 +02:00
.pre-commit-config.yaml Merge pull request #1899 from georgettica/georgettica/bump-pre-commit-hooks 2021-06-23 13:21:06 +03:00
.readthedocs.yml Add readthedocs configuration 2020-10-31 23:07:02 +02:00
LICENSE Add 2021 to license 2021-04-06 20:59:08 +03:00
bash_it.sh main: use `_command_exists` 2021-09-19 21:58:48 -07:00
clean_files.txt plugin/base: improvements (#1930) 2021-09-28 15:13:27 +03:00
install.sh Merge pull request #1926 from gaelicWizard/basenamed 2021-09-18 18:26:55 +03:00
lint_clean_files.sh Explain Bash-it variable clearing in lint script 2020-11-05 08:30:33 -08:00
uninstall.sh Fixed some shellcheck warnings 2018-05-31 18:05:25 +02:00

docs/README.md

logo

Build Status Docs Status License shell Join the chat at https://web.libera.chat/?channel=#bash-it

Bash-it is a collection of community Bash commands and scripts for Bash 3.2+. (And a shameless ripoff of oh-my-zsh 😃)

Includes autocompletion, themes, aliases, custom functions, a few stolen pieces from Steve Losh, and more.

Bash-it provides a solid framework for using, developing and maintaining shell scripts and custom commands for your daily work. If you're using the Bourne Again Shell (Bash) regularly and have been looking for an easy way on how to keep all of these nice little scripts and aliases under control, then Bash-it is for you!
Stop polluting your ~/bin directory and your .bashrc file, fork/clone Bash-it and start hacking away.

Installation

  1. Check out a clone of this repo to a location of your choice, such as git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
  2. Run ~/.bash_it/install.sh

That's it! 😃

You can check out more components of Bash-it, and customize it to your desire.
For more information, see detailed instructions here.

Contributing

Please take a look at the Contribution Guidelines before reporting a bug or providing a new feature.

The Development Guidelines have more information on some of the internal workings of Bash-it, please feel free to read through this page if you're interested in how Bash-it loads its components.

Contributors

List of contributors

License

Bash-it is licensed under the MIT License.