想维护一套自己的 dotfiles 顺便练练 Shell 编程,有没有值得参考的仓库推荐一下

20次阅读

共计 698 个字符,预计需要花费 2 分钟才能阅读完成。

Linux 五年使用经验的骨灰级入门选手,之前都是现用现查,查完就忘,主打一个能干活就行。最近经常需要连到服务器上查各种日志和配置之类,但往往服务器默认的 Shell 环境太裸了,非常难用,所以痛下决心想把这块搞定。

主要是想要能在主流 Linux 环境下 快速配置 ,做到 任何环境 都有 同样的命令行体验,不追求过度花里胡哨,保证最小可用性与生产力即可。

因为要在 保证体验统一 的前提下 尽量兼顾各种可能 的情况,比如一些限制比较严格的生产环境之类的,遵循奥卡姆剃刀原则,如无必要勿增实体,所以优先选择那种主流服务器发行版都一定会带的工具,相比 Zsh 会选择 Bash,相比 Emacs 会选择 Vim 等等。

我知道有很多现成的优秀项目,比如 Oh My Zsh/starship,但感觉这些大多是面向个人本地开发环境的,不适用于远程到生产环境的服务器做调查的场景。毕竟你总不可能为了查个日志在生产环境上搞了一大坨有的没的。

简单看过几个 GithHub 上比较有名的个人 dotfiles 仓库,例如 holmanMathias的,一个是面向 Mac,一个用了 Zsh,都不太理想。目前感觉 这个 最合心意,但不太确定里面的写法是否符合最佳实践,比如其中的几个 util:

answer_is_yes() {[[ "$REPLY" =~ ^[Yy]$ ]] 
        && return 0 
        || return 1
}

ask() {
    print_question "$1"
    read -r
}

ask_for_confirmation() {print_question "$1 (y/n)"
    read -r -n 1
    printf "n"
}

… 感觉 askask_for_confirmation 完全简化合并成一个函数的。

正文完
 0