学习是辛苦的工作,没有人喜欢工作。这意味着无论学习 Bash 有多容易,对你来说仍然可能感觉像工作。当然,除非你通过游戏来学习。
你可能不认为会有很多游戏来教你如何使用 Bash 终端,你是对的。资深的 PC 游戏玩家知道,《辐射》系列在避难所中使用了基于终端的电脑,这有助于使通过文本与电脑交互的想法正常化,但尽管《辐射》的功能或多或少类似于 Alpine 或 Emacs 等应用程序,但玩《辐射》并不能教会你可以在现实生活中使用的命令或应用程序。《辐射》系列从未直接移植到 Linux(尽管可以通过 Steam 的开源 Proton 玩。《废土》系列是《辐射》的前身,其现代作品确实以 Linux 为目标,所以如果你想体验游戏中的终端,你可以在你的 Linux 游戏 PC 上玩 废土 2 和 废土 3。《暗影狂奔》系列也以 Linux 为目标,并且它有很多基于终端的交互,尽管它经常被耀眼的 hot sim 序列所掩盖。
虽然这些游戏以有趣的方式对待计算机终端,并且它们在开源系统上运行,但它们本身都不是开源的。然而,至少有两个游戏以严肃且非常有趣的方式来教人们如何通过文本命令与系统交互。最棒的是,它们是开源的。
Bashcrawl
你可能听说过 Colossal Cave Adventure,这是一款古老的基于文本的交互式游戏,风格类似于“选择你自己的冒险”书籍。早期的计算机爱好者在 DOS 或 ProDOS 命令行中痴迷地玩这些游戏,努力找到正确的有效语法和古怪的幻想逻辑(由一位讽刺的黑客解释),以通关游戏。想象一下,如果挑战除了探索虚拟的中世纪地牢之外,还要回忆有效的 Bash 命令,那么这种努力会有多大的成效。这就是 Bashcrawl 的卖点,这是一款基于 Bash 的地牢探险游戏,你通过学习和使用 Bash 命令来玩。
在 Bashcrawl 中,“地牢”以计算机上的目录和文件的形式创建。你通过使用 cd 命令将目录更改为地牢的每个房间来探索地牢。当你 在目录中前进 时,你使用 ls -F 检查文件,使用 cat 读取文件,设置变量 以收集宝藏,并运行脚本来对抗怪物。你在游戏中做的每件事都是有效的 Bash 命令,你可以在以后的现实生活中使用,并且玩游戏提供了 Bash 练习,因为“游戏”是由计算机上的实际目录和文件组成的。
$ cd entrance/
$ ls
cellar scroll
$ cat scroll
It is pitch black in these catacombs.
You have a magical spell that lists all items in a room.
To see in the dark, type: ls
To move around, type: cd <directory>
Try looking around this room.
Then move into one of the next rooms.
EXAMPLE:
$ ls
$ cd cellar
Remember to cast ``ls`` when you get into the next room!
$
安装 Bashcrawl
在你可以玩 Bashcrawl 之前,你的系统上必须安装 Bash 或 Zsh。Linux、BSD 和 MacOS 都自带 Bash。Windows 用户可以下载并安装 Cygwin 或 WSL 或 尝试 Linux。
要安装 Bashcrawl,请在 Firefox 或你选择的网络浏览器中导航到 GitLab。在页面的右侧,单击 Download 图标(在 Find file 按钮的右侧)。
在 Download 弹出菜单中,单击 Zip 按钮下载游戏的最新版本。

下载完成后,解压缩存档。
或者,如果你想立即开始在终端中工作,你可以使用 Git
$ git clone https://gitlab.com/slackermedia/bashcrawl.git bashcrawl
开始入门
与你下载的几乎任何新软件包一样,你必须做的第一件事是阅读 README 文件。你可以通过双击 bashcrawl 目录中的 README.md 文件来完成此操作。在 Mac 上,你的计算机可能不知道使用哪个应用程序来打开该文件;你可以使用任何文本编辑器或 LibreOffice。README.md 告诉你如何开始玩游戏,包括如何在终端中进入游戏以及你必须发出的第一个命令才能开始游戏。如果你未能阅读 README 文件,则游戏默认获胜(尽管它无法告诉你这一点,因为你还没有玩过它)。
Bashcrawl 并不意味着过于聪明或高级。相反,它尽可能简单,以便对新用户透明。理想情况下,新的 Bash 用户可以从游戏中学习一些 Bash 的基础知识,然后偶然发现游戏的机制,包括使其运行的简单脚本,并学习更多 Bash。此外,新的 Bash 用户可以通过遵循 Bashcrawl 现有内容的示例来设计自己的地牢,并且没有比制作游戏更好的学习编码方法了。
命令行英雄:BASH
Bashcrawl 适合绝对的初学者。如果你经常使用 Bash,你很可能会尝试通过初学者尚不知道的方式查看文件来智取 Bashcrawl。如果你是中级或高级 Bash 用户,那么你应该尝试 命令行英雄:BASH。
游戏很简单:在给定的时间内输入尽可能多的有效命令。听起来很简单。作为 Bash 用户,你每天使用大量命令。作为 Linux 用户,你知道在哪里可以找到命令列表;仅 util-linux 包就包含 100 多个命令!问题是,在倒计时的压力下,你是否可以随时使用这些命令?

这个游戏听起来很简单,因为它确实很简单!原则上,它类似于抽认卡,只是反过来。实际上,这是一种有趣的方式来测试你的知识和回忆。当然,它是开源的,由 Open Jam 的创建者开发。
安装
你可以 在线 玩命令行英雄:Bash,或者你可以从 GitHub 下载源代码。
该游戏是用 Node.js 编写的,所以除非你想帮助开发游戏,否则在线玩它更有意义。
Bash 中的扫雷
如果你是高级 Bash 用户,并且你已经编写了几个 Bash 脚本,那么你可能已经超越了仅仅学习 Bash 的阶段。对于真正的挑战,你可能尝试编程一个游戏而不是玩游戏。稍加思考,花上一个下午或三天的时间,流行的游戏 扫雷 就可以完全用 Bash 实现。你可以先尝试自己编写游戏,然后参考 Abhishek Tamrakar 的文章,了解他是如何完成的。
有时编程没有目的,只是为了教育。用 Bash 编程游戏可能不是你会在网上押注声誉的项目,但这个过程可能很有趣并且具有启发性。并且面对你从未期望面对的问题是学习新技巧的好方法。
学习 Bash;享受乐趣
无论你如何学习 Bash,它都是一个强大的界面,因为它使你能够指示你的计算机执行你想要的操作,而无需通过 GUI 应用程序的“中间人”界面。有时 GUI 非常有帮助,但有时你想从你非常熟悉的东西毕业,并转向你可以快速或通过自动化完成的事情。由于 Bash 是基于文本的,因此很容易编写脚本,使其成为自动化作业的良好起点。
学习 Bash 以开始成为高级用户。但要确保你乐在其中。
8 条评论