From fdd80eadcc2f147d0198d94b7b908764778184a2 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 29 Apr 2024 14:18:55 -0500 Subject: format line wrapping and fix escaped characters --- content/blog/2022-07-31-bash-it.md | 138 ++++++++++++++++++------------------- 1 file changed, 66 insertions(+), 72 deletions(-) (limited to 'content/blog/2022-07-31-bash-it.md') 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 . 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]... -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 -- cgit v1.2.3-70-g09d2