增强的bash命令行工具:bash-it

Shell概述

bash vs zsh

bash:

bash 作为众多 linux 发行版的默认shell,和它打交道的实在太频繁了。但是它有些不足的地方:

  • 别名很多需要自己定制( Debian12 就连ll都没有)
  • 默认样式太简陋,所以我曾经一度换到 zsh

zshzsh 很强大!拥有超多的插件,增强的命令补全,界面美化等等优点。

但是!使用 zsh 一段时间之后,我发现也有些问题,比如:

  • zsh 下使用 reboot 没找到是肿么回事?也可能是我菜,最后还得自己把命令添加到.zshrc中,就是很多系统下 bash 换到 zsh 会找不到
  • 把环境变量放到 /etc/profile或者 /etc/profile.d 文件夹下会不识别,导致一系列问题。

这就违背了初心,所以,既然 bash 是 众多 linux 发行版的默认 shell,那么是否有 bash 的增强工具呢?

今天的主角 bash-it 就是我们需要的东西!

简介

Bash-it 是一个为 Bash 3.2+ 版本提供的社区命令和脚本集合。(这也是对 oh-my-zsh 的无耻模仿 😃)

它包括自动补全、主题、别名、自定义函数,以及一些来自 Steve Losh 的代码片段,等等。

Bash-it 为您日常工作中使用、开发和维护 shell 脚本和自定义命令提供了一个可靠的框架。如果您经常使用 Bourne Again Shell(Bash),并且一直在寻找一种简单的方法来管理这些小脚本和别名,那么 Bash-it 非常适合您! 停止污染您的 ~/bin 目录和 .bashrc 文件,fork/clone Bash-it 并开始修改吧。

源码:https://github.com/Bash-it/bash-it 官网:https://bash-it.readthedocs.io/en/latest/

安装

(1)克隆仓库

官方版本

1
git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it

我修改过后的版本(增加主题、修改了某些命令)

1
git clone --depth=1 https://github.com/muyiacc/bash-it.git ~/.bash_it

(2)安装

1
~/.bash_it/install.sh

这一步需要选择配置 .bashrc的策略:

  • 选择是的话会将 bash_it 的配置进行追加
  • 否的话,会覆盖 .bashrc,并将 .bashrc复制一份为 .bashrc.bak 的备份

如果不是纯净的系统,环境中已经有一些软件的配置,选择

安装之后,新开一个终端查看是否生效

主题

默认主题是 bobby

默认主题比较花哨,包含的信息容易影响注意力,所以我换成了内置的主题 bakke,看着简洁很多又不失美感

每次安装更换主题已经厌烦了,已经习惯了默认配置,果然默认就是最好的!

更换主题的方式在 .bashrc文件下,搜索 BASH_IT_THEME关键字,更改后面的内容就可以了,如下:

1
export BASH_IT_THEME='bakke'

也可以使用这个命令快速替换

1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="bakke"/g' ~/.bashrc  
source ~/.bashrc

如果你使用的是我修改过后的版本,可以使用主题 seektao,这个主题未提交到主项目(提交很麻烦~)

1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="seektao"/g' ~/.bashrc  
source ~/.bashrc

样式如下: image.png

image.png

关于其他主题,你可以打开这个网址进行查找和预览 https://bash-it.readthedocs.io/en/latest/themes-list/#list-of-themes

更多主题:

1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="nwinkler"/g' ~/.bashrc  
source ~/.bashrc
1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="bakke"/g' ~/.bashrc  
source ~/.bashrc
1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="bobby"/g' ~/.bashrc  
source ~/.bashrc
1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="atomic"/g' ~/.bashrc  
source ~/.bashrc
1
2
sed -i 's/^export BASH_IT_THEME=.*/export BASH_IT_THEME="demula"/g' ~/.bashrc  
source ~/.bashrc

别名

bash-it 配置了很多别名,但是需要手动启用

别名配置文件在

1
~/.bash_it/aliases/available

启用别名的方式为

1
bash-it enable alias 

更多

关于更多的信息可以查看 Github或者 Bash-it官网

使用 Hugo 构建
主题 StackJimmy 设计