[#]: collector: (lujun9972) [#]: translator: (heguangzhi) [#]: reviewer: (wxy) [#]: publisher: (wxy) [#]: subject: (Have a cow at the Linux command line) [#]: via: (https://opensource.com/article/18/12/linux-toy-cowsay) [#]: author: (Jason Baker https://opensource.com/users/jason-baker) [#]: url: (https://linux.cn/article-10346-1.html) 在 Linux 命令行上拥有一头奶牛 ====== > 使用 cowsay 实用程序将牛的话语带到你的终端输出。 ![](https://opensource.com/sites/default/files/styles/image-full-size/public/uploads/linux-toy-cowsay.png?itok=RA4NDbrY) 欢迎来到 Linux 命令行玩具第四天。如果这是你第一次访问这个系列,你可能会问自己,什么是命令行玩具。我们也在考虑这一点,但是一般来说,这可能是一个游戏,或者任何简单的娱乐,可以帮助你在终端玩得开心。 你们中的一些人会见过我们之前的选中的各种玩具,但是我们希望至少有一个对每个人来说都是新的。因为几乎所有我告诉他这个系列的人都已经问过它了,所以今天的选中的玩具是必须提及的。 你也不会认为我们会在不提及 `cowsay` 的情况下完成这个系列,对吧? `cowsay` 是一个神奇的实用程序,它将文本作为 ASCII 艺术牛的讲话文本输出。 你可能会发现 `cowsay` 打包在你的默认存储库中,甚至可能已经安装了。对我来说,在 Fedora,像这样安装: ``` $ sudo dnf install -y cowsay ``` 然后,用 `cowsay` 调用它,然后是你的消息。也许你想到昨天我们谈到的 [fortune 应用][1] 连接起来。 ``` $ fortune | cowsay _________________________________________ / If at first you do succeed, try to hide \ \ your astonishment. / ----------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || ``` 就这样!`cowsay` 还有点小变体,称为 cow 文件,通常可以在 `/usr/share/cowsay` 找到 ,要查看系统上可用的 cow 文件,请在 `cowsay` 之后使用 `-l` 。然后,用 `-f` 试试其中之一。 ``` $ cowsay -f dragon "Run for cover, I feel a sneeze coming on." _______________________________________ / Run for cover, I feel a sneeze coming \ \ on. / --------------------------------------- \ / \ //\ \ |\___/| / \// \\ /0 0 \__ / // | \ \ / / \/_/ // | \ \ @_^_@'/ \/_ // | \ \ //_^_/ \/_ // | \ \ ( //) | \/// | \ \ ( / /) _|_ / ) // | \ _\ ( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-. (( / / )) ,-{ _ `-.|.-~-. .~ `. (( // / )) '/\ / ~-. _ .-~ .-~^-. \ (( /// )) `. { } / \ \ (( / )) .----~-.\ \-' .~ \ `. \^-. ///.----..> \ _ -~ `. ^-` ^-_ ///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~ /.-~ ``` 我对 `cowsay` 的真正不满是,我今天没有足够的时间来为牛的挤奶 —— 一语双关。牛排价格太高了,我只是开个玩笑。 更严重的是,我已经完全忘记了 `cowsay` 直到我在学习 Ansible 的剧本时再次遇到它。如果你碰巧安装了 `cowsay`,当你运行 Ansible 的剧本时,你会从一队奶牛那里获得输出。例如,运行这个剧本: ``` - hosts: - localhost tasks: - action: ping ``` 可能会给你以下信息: ``` $ ansible-playbook playbook.yml __________________ < PLAY [localhost] > ------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || ________________________ < TASK [Gathering Facts] > ------------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || ok: [localhost] _____________ < TASK [ping] > ------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || ok: [localhost] ____________ < PLAY RECAP > ------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || localhost : ok=2 changed=0 unreachable=0 failed=0 ``` `cowsay` 在 GPLv3 许可证下可用,您可以在 GitHub 上找到 它的 Perl [源代码][2]。我也见过其他语言的版本,所以可以看看其他变体;例如,这是 [R 语言版][3]。用你选择的语言实现你自己的版本可能是一项有趣的编程学习任务。 既然讲完了 `cowsay`,我们可以去更绿色的牧场了。 你有希望我来介绍的喜欢的命令行玩具吗?这个系列的排期大部分都填好了,但我还有一些空位方。在下面的评论中让我知道,我会来看看。如果有空间,我会尝试把它包括进去。如果没有,但是我收到了一些好的意见,我在结尾提及。 看看昨天的玩具,[如何给你的 Linux 终端带来好运][1],明天再来看看另一个! -------------------------------------------------------------------------------- via: https://opensource.com/article/18/12/linux-toy-cowsay 作者:[Jason Baker][a] 选题:[lujun9972][b] 译者:[heguangzhi](https://github.com/heguangzhi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://opensource.com/users/jason-baker [b]: https://github.com/lujun9972 [1]: https://opensource.com/article/18/12/linux-toy-fortune [2]: https://github.com/tnalpgge/rank-amateur-cowsay [3]: https://github.com/sckott/cowsay