分享一个 shell 配置管理框架 one.bash - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
adoyle

分享一个 shell 配置管理框架 one.bash

  •  
  •   adoyle
    adoyle-h 2022 年 12 月 3 日 2673 次点击
    这是一个创建于 1239 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近撸了一个 shell 配置管理框架,整合了我使用 shell 的多年经验。欢迎使用和反馈意见。

    https://github.com/one-bash/one.bash

    README 文档有中英双语版本。

    介绍

    一个优雅管理命令、shell 脚本,自动补全、配置的框架,适合 bash 玩家。

    功能

    • 集中管理一系列配置文件。使用 YAML 文件通过 dotbot 来管理软链接。
    • 通过模块管理 shell 脚本、补语、别名。支持自定义模块。
    • 通过 repo 轻松分享和重用可执行文件、子命令、配置和模块。
    • 支持自定义 repo 和多个 repo 。由 ONE_REPOS 管理。
    • 可以在一个作用域下管理自己的命令。如 a <cmd> 来调用命令,避免在 PATH 中重复命令。
    • 支持 one.bash 配置。
    • 支持 bash-it 。你可以使用 one 命令来管理 bash-it 的 aliases/completions/plugins 。
    • 支持 Fig 。
    3 条回复    2022-12-04 14:29:05 +08:00
    Showfom
        1
    Showfom  
    PRO
       2022 年 12 月 3 日
    支持一下,除了在服务器上用 Bash 本地还是习惯 zsh 了
    andyJado
        2
    andyJado  
       2022 年 12 月 4 日
    我一直有这样一个困扰:

    我有很多 cli app, editor, pager, differ, window manager 等等, 它们都有各自的颜色配置. 有些会绕开终端配色, 有些则在终端配色的基础上捣大乱. 每次新下一个 cli 都要查文档调半天色儿.

    你这个框架能管理这些颜色配置吗?

    *目前的 workaround 是在把这些颜色配置集中在了一个 commit 通过 rebase -i 大法管理的.
    adoyle
        3
    adoyle  
    OP
       2022 年 12 月 4 日   1
    @andyJado 这个框架只是管理文件用的,不干涉 cli app 自身的逻辑,所以不能管理颜色配置。

    > 有些会绕开终端配色, 有些则在终端配色的基础上捣大乱。

    我认为这是正常的。因为终端程序的配色设计没有标准规范,所以每个人的设计都不一样。你只能查文档调半天,我也觉得很麻烦。
    这也是有历史原因的。因为从 1978 年的终端 VT100 支持 ANSI Escape Codes 开始,一开始只支持 4-bit 的 16 种颜色。然后是 8-bit 的 256 色。到 2000 年以后才出现 24-bit 真彩色 (truecolor)。到近几年出现的各种色域规范,颜色配置将更加复杂,因为 RGB 值所代表的颜色也是不唯一的。
    而命令行程序自古就有,但程序如何配置颜色输出,这就需要有人去统一标准。从结果来看,并没有。

    这两个资料挺好的,推荐阅读。
    https://www.wikiwand.com/en/ANSI_color
    https://github.com/termstandard/colors
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2730 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 57ms UTC 12:55 PVG 20:55 LAX 05:55 JFK 08:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86