通过这些命令行游戏,在快乐中学习有用的Bash技能。
学习是艰苦的工作,没有人喜欢工作。这意味着无论学习Bash多么容易,它对你来说仍然像件差事。当然,除非你通过游戏学习。
你不会认为世上存在很多教你如何使用Bash终端的游戏,事实也的确如你所想。认真的PC游戏玩家知道Fallout系列在金库中配备了基于终端的计算机,这有助于规范通过文本与计算机进行交互的想法,尽管或多或少地具有Alpine或Emacs之类的功能,但玩Fallout并不能教你在现实生活中使用命令或应用程序。 《 Fallout》系列从未直接移植到Linux,尽管可以通过Steam的开源Proton播放。作为《 Fallout》的前身,Wasteland Serious的现代作品确实以Linux为目标对象。因此,如果你想体验游戏终端,可以在Linux游戏PC上玩Wasteland 2和Wasteland3。Shadowrun系列还瞄准Linux,并且提供许多基于终端的交互,尽管公认的热门hot sim序列常常使它黯然失色。
虽然这些游戏采用有趣的方式处理计算机终端,并且在开源代码系统上运行,但它们本身都不是开源代码。 但是,至少有两个游戏采用严肃且非常有趣的方法来教人们如何通过文本命令与系统进行交互。 最重要的是,它们是开源的。
你可能听说过《巨大洞穴探险》(Colossal Cave Adventure),这是一款老式的,基于文本的互动游戏,其风格为“选择自己的冒险”的书籍。 早期的计算机技术人员痴迷地在DOS或ProDOS命令行上玩这些游戏,他们努力寻找有效语法和滑稽幻想逻辑(如一个讥讽的黑客所解释的那样)的正确组合来打败游戏。 想象一下,如果除了探索虚拟的中世纪地牢之外,挑战还在于召回有效的Bash命令,那么这样的斗争会有多大的成效。 这就是Bashcrawl的基调,通过学习和使用Bash命令,基于Bash的dungeon可以让你深入探索。
在Bashcrawl中,将以目录和文件的形式在你的计算机上创建一个“dungeon”。可以通过使用cd命令将目录更改为dungeon中的每个房间来探索。 在浏览目录时,使用ls -F检查文件,使用cat读取文件,设置变量以收集宝藏,并运行脚本来与怪物战斗。 你在游戏中所做的一切都是有效的Bash命令,你可以在今后的现实生活中使用它。玩游戏提供了Bash练习,因为“游戏”是由计算机上的实际目录和文件组成的。
在玩Bashcrawl之前,必须在系统上安装Bash或Zsh。 Linux,BSD和MacOS附带了Bash。 Windows用户可以下载并安装Cygwin,WSL或尝试Linux。
要安装Bashcrawl,请在Firefox或你选择的Web浏览器中导航到GitLab。 在页面的右侧,单击“下载”图标(在“查找文件”按钮的右侧)。
在“下载”弹出菜单中,单击“ Zip”按钮以下载最新版本的游戏。
下载完成后,解压存档。
另外,如果想立即开始在终端中工作,则可以使用Git:
与你下载的几乎所有新软件包一样,你必须做的第一件事是阅读README文件。可以通过双击bashcrawl目录中的“README.md”文件来执行此操作。在Mac上,你的计算机可能不知道要使用哪个应用程序打开文件。可以使用任何文本编辑器或LibreOffice。 README.md确切地告诉你如何开始玩游戏,包括如何在终端上进入游戏以及开始游戏必须发出的第一个命令。如果无法阅读README文件,则游戏会默认获胜(尽管由于你未玩过游戏而无法告诉你)。
Bashcrawl并不意味着过于聪明或先进。相反,为了对新用户透明,它尽可能地简单。理想情况下,Bash新用户可以从游戏中学习Bash的一些基础知识,然后偶然发现游戏的机制,包括使游戏运行的简单脚本,并学习更多Bash。此外,新的Bash用户可以按照Bashcrawl现有内容的示例设计自己的dungeon,没有比编写游戏更好的学习编码的方法了。
Bashcrawl适用于零基础初学者。 如果你定期使用Bash,则很有可能尝试以初学者尚不了解的方式查看文件,以使其胜过Bashcrawl。 如果你是Bash的中级或高级用户,则应尝试使用Command Line Heroes:BASH。
游戏很简单:在给定的时间内输入尽可能多的有效命令。 听起来很简单。 作为Bash用户,你每天都会使用许多命令。 作为Linux用户,你知道在哪里可以找到命令列表。 仅util-linux软件包就包含100多个命令! 问题是,在倒计时的压力下,你是否能够使用任意命令?
这个游戏听起来很简单,因为它的确如此。 原则上,它与抽认卡类似,只是相反。 在实践中,这是测试你的知识和记忆的一种有趣方式。 当然,它是开源的,由Open Jam的开发者开发。
你可以在线玩Command Line Heroes:Bash,也可以从GitHub下载源代码。
该游戏是用Node.js编写的,因此除非你想帮助开发该游戏,否则仅在线进行游戏就可以。
如果你是高级Bash用户,并且已经编写了多个Bash脚本,那么你可以扩大学习范围。 为寻求真正的挑战,你可以尝试编写游戏而不仅是玩游戏。 稍加思考,用一个或三个下午工作,就可以完全在Bash中实现流行的Minesweeper游戏。 可以先尝试自己编写游戏,然后参阅Abhishek Tamrakar的文章,了解他如何完成游戏。
有时编程没有特定目的,却具有教育性。 在Bash中编写游戏也许不是能为你在网上赢得声誉的项目,但该过程可能会很有趣且具有启发性。 面对一个你从未考虑的问题,这是学习新技巧的好方法。
不论你用何种途径学习它,Bash都是一个功能强大的界面。因为它无需通过GUI应用程序的“middleman”界面,就使你能够指导计算机执行所需的操作。有时,GUI很有帮助,但有时你想离开熟知的内容,转向可以快速或通过自动化完成的事情。 由于Bash基于文本,因此易于编写脚本,使其成为自动化作业的理想起点。
了解Bash,从而开始成为高级用户。 但请确保你乐在其中。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。