aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-07-31-bash-it.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/blog/2022-07-31-bash-it.md')
-rw-r--r--content/blog/2022-07-31-bash-it.md138
1 files changed, 66 insertions, 72 deletions
diff --git a/content/blog/2022-07-31-bash-it.md b/content/blog/2022-07-31-bash-it.md
index a12054b..e5d0b42 100644
--- a/content/blog/2022-07-31-bash-it.md
+++ b/content/blog/2022-07-31-bash-it.md
@@ -8,30 +8,30 @@ draft = false
# 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.
+[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:
+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)
+- [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.
+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.
+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:
@@ -39,29 +39,29 @@ For example, this is how you can install bash on Fedora Linux:
sudo dnf install bash
```
-If you are not using bash as your default shell, use the
-`chsh` command to change your shell:
+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.
+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`).
+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.
+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
@@ -69,30 +69,28 @@ sudo reboot now
# Bash-it
-As noted on the [Bash-it](https://github.com/Bash-it/bash-it)
-repository:
+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 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.
+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.
+`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`:
+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
@@ -101,16 +99,16 @@ 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:
+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.
+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
@@ -141,9 +139,8 @@ bash-it disable alias <alias name> [alias name]... -or- $ bash-it disable alias
## 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:
+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
@@ -188,9 +185,8 @@ To list all themes:
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.
+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
@@ -200,23 +196,22 @@ nano ~/.bashrc
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.
+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.
+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.
+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:
@@ -226,17 +221,16 @@ 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.
+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.
+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.
+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