加强型 BASH 配置文件
继承 ProfileX 的体验,完全重写,效率提高有约3~5倍。
出于泛用性考虑,放弃了 ProfileX 所采用地 GNU Makefile 技术。 直接复制下面地相应代码到命令行并执行,即可完成安装或卸载操作。
'curl' -sS https://raw.githubusercontent.com/snakevil/bashrc.x/master/share/install.sh | 'sh''rm' -fr ~/.bash_profile ~/.bashrc ~/.local/bashrc.x ~/.local/.bashrc.x.git如图所示,Bashrc.X默认的
etc/bashrc.d
目录下的[0-9][0-9]-*.sh脚本,和~/.bashrc.x/bashrc.d目录下的同规则文件,会按
照先文件名、后目录(Bashrc.X默认脚本优先)的方式排序,并依此执行。
动态提示内容的修正,由 etc/bashrc.d/99-prompt.sh 完成。
Tue Nov 13- 日期- <
hg-SUDO模式扮演用户 - (
snakevil) - 登录用户 - @
.94.32-IP后两段 - :
/h*/s*/Doc*/P*/ba*/s*/e*/bashrc.d- **当前目录路径 (压缩版) ** - /
g- 当前目录版本库类型 master> - 当前目录版本库分支名15:20- 时间- j
1- 后台保持任务数 - l
1.15@2 - 系统负载(CPU 内核数) - m
73.0% - 内存使用情况 - c
0s46- 上条指令执行时间 - e
148- 上条指令退出码
使用配置指令config-bashrc.x,可以使Bashrc.X的功能配置组合更加灵活。如:
prompt.date- 显示/屏蔽日期提示prompt.exit- 启用/禁用指令退出码提示插件prompt.ip.cut- 启用/禁用IP截取模式prompt.jobs- 启用/禁用后台保持任务提示插件prompt.load- 启用/禁用系统负载提示插件prompt.load.cores- 显示/屏蔽系统负载提示插件CPU内核数prompt.load.interval- 设置系统负载更新周期(单位:秒)prompt.mem- 启用/禁用内存使用提示插件prompt.mem.interval- 设置内存使用更新周期(单位:秒)prompt.pwd.compressed- 启用/禁用当前目录路径压缩模式prompt.time- 显示/屏蔽时间提示prompt.time-consumed- 启用/禁用指令执行时间提示插件prompt.vcs- 启用/禁用版本库分支提示插件prompt.vcs.delim- 设置版本库分支提示插件引导内容
如需更多更全的配置变量及帮助信息,请查看config-bashrc.x --help和
config-bashrc.x -la。
提示所用的颜色变量共18种,由 etc/bashrc.d/05-colors.sh 定义。
如需更改提示颜色,需创建~/.bashrc.x/colors.rc配置文件,定义不同提示字段的颜色。
Bashrc.X已定义的提示颜色有:
$BASHRCX_COLORS[default]- 提示默认色,默认为$Chblack$BASHRCX_COLORS[user]- 用户字段色,默认为$Ccyan$BASHRCX_COLORS[user.sudo]-SUDO模式扮演用户字段色,默认为$Cred$BASHRCX_COLORS[ip]-IP字段色,默认为$Cpurple$BASHRCX_COLORS[ip.ssh]-SSH链接IP字段色,默认为$Chblue$BASHRCX_COLORS[pwd]- 当前目录路径字段色,默认为$Cyellow$BASHRCX_COLORS[vcs]- 当前目录版本库分支字段色,默认为$Cgreen$BASHRCX_COLORS[jobs]- 后台保持任务字段色,默认为$Chwhite$BASHRCX_COLORS[load]- 负载字段默认色,默认为$Cgreen$BASHRCX_COLORS[load.2]- 负载字段(0.10-1.00)阶段色,默认为$Cyellow$BASHRCX_COLORS[load.3]- 负载字段(1.00+)阶段色,默认为$Cred$BASHRCX_COLORS[mem]- 内存字段默认色,默认为$Cgreen$BASHRCX_COLORS[mem.2]- 内存字段(40.0-79.9%)阶段色,默认为$Cyellow$BASHRCX_COLORS[mem.3]- 内存字段(80.0%+)阶段色,默认为$Cred$BASHRCX_COLORS[time-consumed]- 上条指令执行时间字段色,默认为$Cwhite$BASHRCX_COLORS[exit]- 上条指令退出码字段色,默认为$Chred
在~/.bashrc.x/bashrc.d目录下创建文件名称符合[0-9][0-9]-*.sh规则的脚本。从下
次开始启动命令行,其中的脚本内容就会作为定制的功能扩展执行了。
在Bashrc.X中,提示插件也以功能扩展脚本的形式实现。但为了使定制的提示插件能够完
美工作,还需要注意以下两点:
-
文件名
为了兼容性,我们建议插件的文件名应该符合
9[0-8]-prompt-*.sh规则。 -
函数名
函数名应该符合
_bashrc.x-prompt-[12].[0-9][0-9]-*规则。请尽量使用更有语义 的名字,以免造成既有插件工作不正常,或该插件自身工作不正常。 -
函数输出
鉴于 BASH 的函数定义无法直接返回需要的结果,我们使用特殊数组变量
_pret作为返回结果变量。_pret=( 1 # 控制内容显示位置。可选值为“1”或“2”,分别对应当前工作目录后的位置,和 # 提示符前的位置。 "" # 控制内容,包括颜色定义。 )
如有需要,请阅读范例: etc/bashrc.d/90-prompt-jobs.sh 。


