LinuxCommandLibrary

bash-it

Manage and customize your Bash shell environment

TLDR

Update Bash-it to the latest stable/development version

$ bash-it update [stable|dev]
copy

Reload Bash profile (set $BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE to non-empty value for an automatic reload)
$ bash-it reload
copy

Restart Bash
$ bash-it restart
copy

Reload Bash profile with enabled error and warning logging
$ bash-it doctor
copy

Reload Bash profile with enabled error/warning/entire logging
$ bash-it doctor [errors|warnings|all]
copy

Search for Bash-it aliases/plugins/completions
$ bash-it search [alias|plugin|completion]
copy

Search for Bash-it aliases/plugins/completions and enable/disable all found items
$ bash-it search --[enable|disable] [alias|plugin|completion]
copy

SYNOPSIS

bash-it [enable|disable|show|search|help|doctor|reload] [aliases|plugins|completions] [name]

PARAMETERS

enable
    Enable a specific alias, plugin, or completion by name

disable
    Disable a specific alias, plugin, or completion by name

show
    List available aliases, plugins, or completions (use search to filter)

search
    Search for aliases, plugins, or completions matching a pattern

help
    Display general help or help for a subcommand

doctor
    Run diagnostics to check installation and configuration issues

reload
    Reload Bash-it configuration after changes

aliases
    Category specifier for aliases (default if unspecified)

plugins
    Category specifier for plugins

completions
    Category specifier for completions

-h
    Show help for the command

[name]
    Specific name of alias/plugin/completion to act on

DESCRIPTION

Bash-it is a powerful collection of community-contributed Bash commands, aliases, functions, and scripts designed to supercharge your shell experience. It provides a modular framework for managing customizations, allowing users to easily enable, disable, and discover hundreds of plugins, aliases, and completions.

Key features include pre-configured aliases for common tools like git, ls, and apt; plugins for enhanced functionality such as battery status, weather, or torrent management; and completion scripts for improved tab-completion. Bash-it organizes everything into categories (aliases, plugins, completions), making it simple to search, preview, and toggle features without cluttering your .bashrc.

Installation is straightforward via Git, followed by a setup script that integrates with your shell profile. Once loaded, the bash-it command serves as the central manager. It's lightweight, highly customizable, and actively maintained on GitHub, with contributions from a vibrant community. Ideal for developers seeking productivity boosts without switching shells.

CAVEATS

Requires installation via Git; modifies .bashrc or .bash_profile. Not a standard system command—must source Bash-it in shell profile. Conflicts possible with other frameworks like Oh My Zsh.

INSTALLATION

Run:
git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
~/.bash_it/install.sh
Then source ~/.bash_profile or restart terminal.

USAGE EXAMPLE

bash-it enable alias git (enables Git aliases)
bash-it show plugins | grep battery (searches battery plugins)

HISTORY

Created by Nicolas Broadbent (ndbroadbent) in 2012 as an open-source project on GitHub. Inspired by Oh My Zsh, it evolved from personal scripts into a community-driven framework with over 300 contributors. Major versions include v2.0 (2019) introducing subcommands and v2.1+ with improved modularity and diagnostics.

SEE ALSO

bash(1), alias(1p), complete(1), source(1p)

Copied to clipboard