分享 分享一个终端上自动显示修身齐家警句的小工具

ccmywish · 2020年09月25日 · 最后由 ccmywish 回复于 2020年11月28日 · 1374 次阅读

介绍

🌱 plant a good karma seed 源代码链接

功能: 每次打开终端时,显示中华传统修身齐家的经典名言

支持 Linux, macOS, Windows

其中包括以下文集

  1. 弟子规
  2. 朱子治家格言
  3. 增广贤文


截图

Windows

Linux


安装

Linux,macOS 用户

bash -c "$(curl -fsSL https://gitee.com/ccmywish/seed/raw/master/install.sh)`

Windows 用户 (powershell)

iwr -useb https://gitee.com/ccmywish/seed/raw/master/install.ps1 | iex

卸载

如果不想使用,可以直接在.bashrc, .zshrc, config.fish, $profile 中注释掉即可

若想彻底卸载,使用下面的命令

bash -c "$(curl -fsSL https://gitee.com/ccmywish/seed/raw/master/uninstall.sh)"

更新

<2020-11-28> :

  1. Windows 支持

<2020-10-16> :

  1. 增广贤文分号断为两句;
  2. 主程序检查一个句子和它上下的两句,
    • 如果该句长度最长,则被选中
    • 如果该句有分号,则选择它和下一句
    • 返回该句和其长度相同的上句或下句
  3. 增加增广贤文的选择率

                         _
               __       sc
               \\I    /RUB
               LOV|  //Yri
                 E\||/pt
                   ||
                  /**\
            #{[===========]}#


弟子规。。。朱熹。。。男尊女卑、阶级的那一套

截取一下翻译:

凡人弟子,须是常低声下气,语言详缓。

不要因为小事情,就不禀告父母而擅自去做。假如自作主张地去做事,那就不合乎为人子女的道理了。

称呼尊长,不可以直接叫他们的名字。长辈见识多,阅历深,要多听他们说话,不要自己夸夸其谈,表现出很有才能的样子。

多吃几年饭,就什么都懂了。。。我吃了几十年饭呢,我也不是吃饭专家。。。

学学逻辑。。。

我感觉楼主的代码可以写得简洁一些。我只有 windows 环境。


SEED_DIR = File.expand_path "~/.config/plant_a_good_karma_seed"
CLASSIC = File.expand_path "#{SEED_DIR}/classic"
#CLASSIC = './classic' # windows 测试

list = Dir.glob('*.txt', base: CLASSIC)
file_name = list[rand(list.size)]
classic_name = /-(.*?)\.txt/.match(file_name)[1]
lines = File.readlines("#{CLASSIC}/#{file_name}")
ids = (0..(lines.size-2)).select{|x| lines[x].size == lines[x+1].size }
id = ids[rand(ids.size)]
puts lines[id], lines[id+1], "                              --《#{classic_name}》"

顺便说一下,楼主的脚本写法没有考虑到连续三句古文长度不相等的情况。

@Rei 想问一下为什么我楼上的代码,id 这个变量名被识别成了关键字?不懂。

cre16yu 回复

😃 您的代码比我的工整,简洁的多!学习了!

windows 上我不太清楚怎样在打开 powershell/cmd 时自动运行一个程序,我找到了一篇文章powershell 的解决方法 ,好像蛮复杂

另外《增广贤文》不太规整,没有什么规律(也有可能是我从网上找的这个排版不佳),所以就只简单处理了一下😁

给你的 bashrc 或是 zshrc 追加即可

cat "$HOME/zhuzizhijiageyan.txt" | shuf -n 1
hz_qiuyuanxin 回复

你这个和他的差别也太大了

cre16yu 回复

Hi, 我添加了 Windows 的支持,现在可以在 PowerShell 中使用~

需要 登录 后方可回复, 如果你还没有账号请 注册新账号