在 Linux 命令行中给自己画个框

学习如何使用 boxes 工具在 Linux 终端中使用字符绘制形状,让你的文字脱颖而出。
237 位读者喜欢这篇文章。
Linux toy: boxes

Jason Baker

现在是节日季,每个 Linux 终端用户都值得一份小礼物。无论你是否庆祝圣诞节、其他节日,或者什么都不庆祝,都没关系。因此,在接下来的几周里,我将收集 24 个 Linux 命令行玩具,供你欣赏并与朋友分享。让我们一起找点乐子,为至少在北半球来说可能有点寒冷和阴沉的月份增添一些乐趣。

很可能,其中有一些你以前听说过。但是,希望我们都有机会学习一些新东西。(我知道我在做一些研究以确保我可以凑够 24 个时学到了新东西。)

我们 24 个 Linux 终端玩具中的第一个是一个名为 boxes 的程序。为什么要从 boxes 开始?因为如果没有它,就很难把我们其他的命令行礼物包装好送给你!

在我的 Fedora 机器上,boxes 默认没有安装,但它在我的常用仓库中,所以安装它非常简单,只需

$ sudo dnf install boxes

如果你使用的是不同的发行版,很可能你也会在默认仓库中找到它。

Boxes 是一个我真希望我在高中和大学计算机科学课程中就拥有的实用工具,当时好心的老师坚持要求我在每个源文件、函数、代码块等的开头提供非常特定格式的注释。

/***************/
/* Hello World */
/***************/

事实证明,一旦你在其中添加几行文本,格式化它们就会变得,嗯,很乏味。Boxes 就此诞生。Boxes 是一个简单的实用工具,用于用 ASCII 艺术风格的框包围文本块。它带有用于源代码注释的默认设置,以及其他选项。

它真的很容易使用。使用管道,我可以将简短的问候语推送到一个框中。

$ cat greeting.txt | boxes -d diamonds -a c

这将给出如下输出

       /\          /\          /\
    /\//\\/\    /\//\\/\    /\//\\/\
 /\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/                            \/\\//
 \/                                  \/
 /\      I'm wishing you all a       /\
//\\     joyous holiday season      //\\
\\//     and a Happy Gnu Year!      \\//
 \/                                  \/
 /\                                  /\
//\\/\                            /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//
 \/\\///\\\//\/\\///\\\//\/\\///\\\//\/
    \/\\//\/    \/\\//\/    \/\\//\/
       \/          \/          \/

或者也许更有趣的东西,比如

echo "I am a dog" | boxes -d dog -a c

这将不出所料地给你以下内容

          __   _,--="=--,_   __
         /  \."    .-.    "./  \
        /  ,/  _   : :   _  \/` \
        \  `| /o\  :_:  /o\ |\__/
         `-'| :="~` _ `~"=: |
            \`     (_)     `/
     .-"-.   \      |      /   .-"-.
.---{     }--|  /,.-'-.,\  |--{     }---.
 )  (_)_)_)  \_/`~-===-~`\_/  (_(_(_)  (
(              I am a dog               )
 )                                     (
'---------------------------------------'

Boxes 带有 许多选项,用于填充、位置,甚至处理正则表达式。你可以在 项目主页上了解更多关于 boxes 的信息,或者前往 GitHub 下载源代码或贡献你自己的框。事实上,如果你正在寻找提交的想法,我有一个想法给你:为什么不做一份节日礼物呢?

         _  _
        /_\/_\
 _______\_\/_/_______
|       ///\\\       |
|      ///  \\\      |
|                    |
|     "Happy pull    |
|       request!"    |
|____________________|

Boxes 在 GPLv2 许可证下开源。

你是否有你认为我应该介绍的喜欢的命令行玩具?这个系列的日程表大部分都已排满,但我还剩下几个空位。请在下面的评论中告诉我,我会查看一下。如果有空间,我会尝试将其包含在内。如果没有,但如果我收到一些好的提交,我将在最后做一个荣誉提名总结。

或者查看明天的命令行玩具, 在你的 Linux 终端中驾驶火车头

标签
User profile image.
Jason 在 2013 年至 2022 年期间是 Opensource.com 的员工和红帽员工。此个人资料包含他在此期间与工作相关的文章。其他贡献可以在他的个人帐户中找到。

8 条评论

喜欢这个!我已经知道 cowsay 了,但这个更有趣。我已经玩了一个小时了,我知道今天我会花更多的时间在这上面,而不是写我的下一本书。我期待你的下一个 Linux 玩具。

我建议 sl。它有一个蒸汽火车头以 ASCII 艺术形式在你的屏幕上驶过,显然是为了在你错误输入 ls 时给出比“unknown command”更有趣的响应。

我已经使用 toilet 和 lolcat 以彩虹色打印 ASCII 艺术字了,这个 boxes 工具将使过度修饰的控制台输出达到神圣的三位一体!

Gnusmas 快乐!

我真诚地希望阅读本文的人们已经知道 `cowsay`…

echo "谢谢你 Jason。圣诞快乐" | boxes -d santa -a c

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.