Bash 自动完成:选择随机建议

Bash 自动完成:选择随机建议

基本上我想要一种让 Figlet 选择随机字体的方法。它似乎没有内置方法,或者至少我没有在手册或网络中找到一种方法。

我希望每次打开新的 xterm 时都会弹出该消息,这很容易添加 figlet -f <a font> Hello World 到 bash.rc

但我也希望字体是随机的。我想知道是否有一种方法可以<a font>从自动完成建议中随机选择。

答案1

Bash 似乎没有Figlet 的自动补全功能。即使确实如此,我也不认为有一种通用方法可以为特定上下文生成补全,您必须知道补全代码如何适用于该特定命令。

但是,您可以列出函数而不参考完成代码。模仿zsh补全代码,字体是*.flf所示目录中的文件figlet -I2。字体名称是文件基本名称,但您实际上可以传递文件的完整路径。

figlet_fonts=("$(figlet -I2)"/*.flf)

所以剩下要做的就是从这个数组中取出一个随机元素。特殊变量RANDOM每次读取时都会产生一个随机数。除以数组的大小并取余数以获得随机数组索引。 (数组的开头有轻微的偏差,这在这里并不重要。)

figlet -f "${figlet_fonts[$RANDOM % ${#figlet_fonts[@]}]}" Hello world

相关内容