aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-07-31-bash-it.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-03-04 22:34:28 -0600
committerChristian Cleberg <hello@cleberg.net>2024-03-04 22:34:28 -0600
commit797a1404213173791a5f4126a77ad383ceb00064 (patch)
treefcbb56dc023c1e490df70478e696041c566e58b4 /content/blog/2022-07-31-bash-it.md
parent3db79e7bb6a34ee94935c22d7f0e18cf227c7813 (diff)
downloadcleberg.net-797a1404213173791a5f4126a77ad383ceb00064.tar.gz
cleberg.net-797a1404213173791a5f4126a77ad383ceb00064.tar.bz2
cleberg.net-797a1404213173791a5f4126a77ad383ceb00064.zip
initial migration to test org-mode
Diffstat (limited to 'content/blog/2022-07-31-bash-it.md')
-rw-r--r--content/blog/2022-07-31-bash-it.md242
1 files changed, 0 insertions, 242 deletions
diff --git a/content/blog/2022-07-31-bash-it.md b/content/blog/2022-07-31-bash-it.md
deleted file mode 100644
index 18fceb8..0000000
--- a/content/blog/2022-07-31-bash-it.md
+++ /dev/null
@@ -1,242 +0,0 @@
-+++
-date = 2022-07-31
-title = "Upgrade Bash with Bash-It & Ble.sh"
-description = "Learn how to increase the power of bash with Bash-It and Ble.sh."
-+++
-
-## Bash
-
-For those who are not familiar,
-[Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) is a Unix shell
-that is used as the default login shell for most Linux distributions.
-This shell and command processor should be familiar if you've used
-Linux (or older version of macOS) before.
-
-However, bash is not the only option. There are numerous other shells
-that exist. Here are some popular examples:
-
-- [zsh](https://en.wikipedia.org/wiki/Z_shell)
-- [fish](https://en.wikipedia.org/wiki/Fish_(Unix_shell))
-- [oksh](https://github.com/ibara/oksh)
-- [mksh](https://wiki.gentoo.org/wiki/Mksh)
-- [dash](https://en.wikipedia.org/wiki/Debian_Almquist_shell)
-
-While each shell has its differences, bash is POSIX compliant and the
-default for many Linux users. Because of this, I am going to explore a
-program called `bash-it` below that helps bash users increase
-the utility of their shell without installing a completely new shell.
-
-### Installation
-
-First, if bash is not already installed on your system, you can
-[download bash from GNU](https://www.gnu.org/software/bash/) or use your
-package manager to install it.
-
-For example, this is how you can install bash on Fedora Linux:
-
-```sh
-sudo dnf install bash
-```
-
-If you are not using bash as your default shell, use the
-`chsh` command to change your shell:
-
-```sh
-chsh
-```
-
-You should see a prompt like the one below. If the brackets
-(`[]`) contain `bash` already, you're done, and
-you can simply continue by hitting the Enter key.
-
-If the brackets contain another shell path (e.g. =/usr/bin/zsh=), enter
-the path to the bash program on your system (it's most likely located
-at `/usr/bin/bash`).
-
-```sh
-Changing shell for <user>.
-New shell [/usr/bin/bash]:
-```
-
-You must log out or restart the machine in order for the login shell to
-be refreshed. You can do it now or wait until you're finished
-customizing the shell.
-
-```sh
-sudo reboot now
-```
-
-## Bash-it
-
-As noted on the [Bash-it](https://github.com/Bash-it/bash-it)
-repository:
-
-> Bash-it is a collection of community Bash commands and scripts for
-> Bash 3.2+. (And a shameless ripoff of oh-my-zsh 😃)
-
-Bash-it makes it easy to install plugins, set up aliases for common
-commands, and easily change the visual theme of your shell.
-
-### Installation
-
-To install the framework, simply copy the repository files and use the
-`install.sh` script provided. If you want, you can (and
-should!) inspect the contents of the installation script before you run
-it.
-
-```sh
-git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
-~/.bash_it/install.sh
-```
-
-If you didn't restart your session after making bash the default, and
-are currently working within another shell, be sure to enter a bash
-session before using `bash-it`:
-
-```sh
-bash
-```
-
-### Aliases
-
-Bash-it contains a number of aliases for common commands to help improve
-efficiency in the terminal. To list all available options, use the
-following command:
-
-```sh
-bash-it show aliases
-```
-
-This will provide you a list that looks like the following text block.
-Within this screen, you will be able to see all available options and
-which ones are currently enabled.
-
-```txt
-Alias Enabled? Description
-ag [ ] the silver searcher (ag) aliases
-ansible [ ] ansible abbreviations
-apt [ ] Apt and dpkg aliases for Ubuntu and Debian distros.
-atom [ ] Atom.io editor abbreviations
-bash-it [ ] Aliases for the bash-it command (these aliases are automatically included with the "general" aliases)
-bolt [ ] puppet bolt aliases
-bundler [ ] ruby bundler
-clipboard [ ] xclip shortcuts
-composer [ ] common composer abbreviations
-curl [x] Curl aliases for convenience.
-...
-```
-
-To enable an alias, do:
-
-```sh
-bash-it enable alias <alias name> [alias name]... -or- $ bash-it enable alias all
-```
-
-To disable an alias, do:
-
-```sh
-bash-it disable alias <alias name> [alias name]... -or- $ bash-it disable alias all
-```
-
-### Plugins
-
-Similar to aliases, plugins are available with bash-it. You can find a
-complete list of plugins in the same way as aliases. Simply execute the
-following:
-
-```sh
-bash-it show plugins
-```
-
-You will see the following output showing enabled and disabled plugins:
-
-```txt
-Plugin Enabled? Description
-alias-completion [ ]
-autojump [ ] Autojump configuration, see https://github.com/wting/autojump for more details
-aws [ ] AWS helper functions
-base [x] miscellaneous tools
-basher [ ] initializes basher, the shell package manager
-battery [x] display info about your battery charge level
-blesh [ ] load ble.sh, the Bash line editor!
-boot2docker [ ] Helpers to get Docker setup correctly for boot2docker
-browser [ ] render commandline output in your browser
-```
-
-To enable a plugin, do:
-
-```sh
-bash-it enable plugin <plugin name> [plugin name]... -or- $ bash-it enable plugin all
-```
-
-To disable a plugin, do:
-
-```sh
-bash-it disable plugin <plugin name> [plugin name]... -or- $ bash-it disable plugin all
-```
-
-### Themes
-
-There are quite a few pre-defined
-[themes](https://bash-it.readthedocs.io/en/latest/themes-list/#list-of-themes)
-available with bash-it.
-
-To list all themes:
-
-```sh
-ls ~/.bash_it/themes/
-```
-
-To use a new theme, you'll need to edit `.bashrc` and alter
-the `BASH_IT_THEME` variable to your desired theme. For
-example, I am using the `zork` theme.
-
-```sh
-nano ~/.bashrc
-```
-
-```sh
-export BASH_IT_THEME='zork'
-```
-
-Once you save your changes, you just need to exit your terminal and
-create a new one in order to see your changes to the
-`.bashrc` file. You can also `source` the file to
-see changes, but I recommend starting a completely new shell instead.
-
-## ble.sh
-
-One big feature I was missing in Bash that both `zsh` and
-`fish` have is an autosuggestion feature. To explain: as you
-type, an autosuggestion feature in the shell will offer suggestions in a
-lighter font color beyond the characters already typed. Once you see the
-command you want, you can click the right arrow and have the shell
-auto-complete that line for you.
-
-Luckily, the [Bash Line Editor](https://github.com/akinomyoga/ble.sh)
-(ble.sh) exists! This program provides a wonderful autosuggestions
-feature perfectly, among other features that I haven't tested yet.
-
-In order to install ble.sh, execute the following:
-
-```sh
-git clone --recursive https://github.com/akinomyoga/ble.sh.git
-make -C ble.sh install PREFIX=~/.local
-echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc
-```
-
-Again, exit the terminal and open a new one in order to see the
-newly-configured shell.
-
-## Restart the Session
-
-Finally, as mentioned above, you'll need to restart the session to
-ensure that your user is using bash by default.
-
-You will also need to exit and re-open a shell (e.g., terminal or
-terminal tab) any time you make changes to the `.bashrc`
-file.
-
-```sh
-sudo reboot now
-```