Học tập là công việc vất vả, và không ai thích làm việc. Điều đó có nghĩa là dù học Bash dễ đến đâu, nó vẫn có thể cảm giác như công việc với bạn. Trừ khi, tất nhiên, bạn học thông qua chơi game.
Bạn sẽ không nghĩ sẽ có nhiều game dạy cách dùng terminal Bash, và bạn đúng. Game thủ PC nghiêm túc biết series Fallout có máy tính dựa trên terminal trong các vault, giúp chuẩn hóa ý tưởng giao tiếp với máy tính qua văn bản, nhưng dù có ứng dụng giống Alpine hay Emacs, chơi Fallout không dạy lệnh hay ứng dụng dùng được trong đời thực. Series Fallout chưa bao giờ được port trực tiếp sang Linux (dù có thể chơi qua Proton open source của Steam. Các tác phẩm hiện đại trong series Wasteland tiền thân của Fallout, tuy nhiên, nhắm đến Linux, nên nếu muốn trải nghiệm terminal trong game, bạn có thể chơi Wasteland 2 và Wasteland 3 trên PC gaming Linux. Series Shadowrun cũng nhắm đến Linux, và có nhiều tương tác dựa trên terminal, dù thường bị lấn át bởi các chuỗi sim seng sốc.
Mặc dù những game đó tiếp cận terminal máy tính một cách vui vẻ, và chạy trên hệ thống open source, không cái nào là open source bản thân. Tuy nhiên, có ít nhất hai game tiếp cận nghiêm túc, và nghiêm túc vui vẻ, để dạy mọi người cách tương tác với hệ thống qua lệnh văn bản. Và quan trọng nhất, chúng là open source.
Bashcrawl
Bạn có thể đã nghe về Colossal Cave Adventure, một game text-based tương tác cũ theo phong cách sách "chọn cuộc phiêu lưu của bạn". Các computerist sớm chơi những game này cuồng nhiệt tại dòng lệnh DOS hoặc ProDOS, đấu tranh tìm tổ hợp đúng cú pháp hợp lệ và logic fantasy kỳ quặc (như được diễn giải bởi một hacker châm biếm) để thắng game. Hãy tưởng tượng cuộc đấu tranh đó có thể hiệu quả đến đâu nếu thách thức, bên cạnh khám phá hang trung cổ ảo, là nhớ lại các lệnh Bash hợp lệ. Đó là ý tưởng cho Bashcrawl, một dungeon crawl dựa trên Bash bạn chơi bằng cách học và dùng lệnh Bash.
Trong Bashcrawl, một "hang động" được tạo dưới dạng thư mục và file trên máy tính của bạn. Bạn khám phá hang động bằng cách dùng lệnh cd để đổi thư mục vào từng phòng của hang động. Khi bạn tiến qua các thư mục, bạn kiểm tra file với ls -F, đọc file với cat, thiết lập biến để thu thập kho báu, và chạy script để chiến đấu quái vật. Mọi thứ bạn làm trong game là lệnh Bash hợp lệ bạn có thể dùng sau trong đời thực, và chơi game cung cấp thực hành Bash vì "game" được tạo từ thư mục và file thực tế trên máy tính của bạn.
$ 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!
$
Cài đặt Bashcrawl
Trước khi chơi Bashcrawl, bạn phải có Bash hoặc Zsh trên hệ thống. Linux, BSD, và MacOS có sẵn Bash. Người dùng Windows có thể tải và cài Cygwin hoặc WSL hoặc thử Linux.
Để cài Bashcrawl, truy cập GitLab trong Firefox hoặc trình duyệt web bạn thích. Bên phải trang, nhấp biểu tượng Download (bên phải nút Find file).
Trong menu pop-up Download, nhấp nút Zip để tải phiên bản mới nhất của game.
Sau khi tải xong, giải nén archive.
Thay vào đó, nếu bạn muốn bắt đầu làm việc trong terminal ngay, bạn có thể dùng Git:
$ git clone https://gitlab.com/slackermedia/bashcrawl.git bashcrawl
Bắt đầu
Giống như hầu hết gói phần mềm mới bạn tải, điều đầu tiên bạn phải làm là đọc file README. Bạn có thể làm điều này bằng cách double-click vào file README.md trong thư mục bashcrawl. Trên Mac, máy tính có thể không biết ứng dụng nào mở file; bạn có thể dùng bất kỳ trình soạn thảo văn bản nào hoặc LibreOffice. README.md nói cho bạn chính xác cách bắt đầu chơi game, bao gồm cách vào game trong terminal và lệnh đầu tiên bạn phải phát hành để bắt đầu game. Nếu bạn không đọc file README, game thắng mặc định (dù nó không thể nói cho bạn biết vì bạn chưa chơi).
Bashcrawl không có ý định quá thông minh hoặc nâng cao. Ngược lại, nó đơn giản nhất có thể được để minh bạch cho người dùng mới. T lý tưởng, người dùng Bash mới có thể học một số cơ bản Bash từ game, sau đó lôi kéo cơ chế của game, bao gồm các script đơn giản làm nó chạy, và học thêm Bash. Ngoài ra, người dùng Bash mới có thể thiết kế hang động riêng bằng cách theo dõi ví dụ nội dung Bashcrawl hiện có, và không có cách tốt hơn học code hơn là làm game.
Command Line Heroes: BASH
Bashcrawl dành cho người mới tuyệt đối. Nếu bạn dùng Bash thường xuyên, bạn rất có thể sẽ cố gắng lừa Bashcrawl bằng cách xem file theo cách người mới chưa biết. Nếu bạn là người dùng Bash trung cấp hoặc nâng cao, bạn nên thử Command Line Heroes: BASH.
Game đơn giản: Gõ bao nhiêu lệnh hợp lệ bạn nghĩ ra được trong một khoảng thời gian cho trước. Nghe đơn giản. Là người dùng Bash, bạn dùng nhiều lệnh mỗi ngày. Là người dùng Linux, bạn biết nơi tìm danh sách lệnh; gói util-linux đơn lẻ chứa hơn 100 lệnh! Câu hỏi là, có lệnh nào trong số đó sẵn sàng tại ngón tay bạn dưới áp lực đếm ngược?

Game này nghe đơn giản vì nó thực sự đơn giản! Về nguyên tắc, nó tương tự flashcard, chỉ là ngược lại. Trong thực tế, đó là cách vui vẻ để kiểm tra kiến thức và nhớ. Và tất nhiên, nó open source, được phát triển bởi những người tạo ra Open Jam.
Cài đặt
Bạn có thể chơi Command Line Heroes: Bash trực tuyến, hoặc tải mã nguồn từ GitHub.
Game được viết bằng Node.js, nên trừ khi bạn muốn giúp phát triển game, việc chơi trực tuyến là hợp lý.
Minesweeper trong Bash
Nếu bạn là người dùng Bash nâng cao, và đã viết một vài script Bash, thì bạn có thể đã vượt xa việc chỉ học Bash. Để thử thách thực sự, bạn có thể thử lập trình một game thay vì chơi. Với một chút suy nghĩ và một chiều hoặc ba chiều làm việc, game phổ biến Minesweeper có thể triển khai hoàn toàn trong Bash. Bạn có thể thử viết game mình trước, sau đó tham khảo bài viết của Abhishek Tamrakar để xem tổng quan cách anh ấy hoàn thành nó.

Đôi khi lập trình không có mục đích ngoài giáo dục. Lập trình game trong Bash có thể không phải dự án bạn cào bằng uy tín trực tuyến, nhưng quá trình có thể vui vẻ và khai sáng. Và đối mặt với vấn đề bạn chưa bao giờ ngờ sẽ gặp là cách tuyệt vời để học chiêu mới.
Học Bash; vui vẻ
Dù bạn tiếp cận học nó như thế nào, Bash là giao diện mạnh mẽ vì nó cho bạn khả năng chỉ đạo máy tính làm gì bạn muốn mà không qua giao diện "trung gian" của ứng dụng GUI. Đôi khi GUI rất hữu ích, nhưng những lúc khác bạn muốn tốt nghiệp từ thứ bạn biết quá tốt và chuyển sang thứ bạn có thể làm nhanh hoặc tự động hóa. Vì Bash dựa trên văn bản, nó dễ dàng script, làm nó điểm xuất phát tuyệt vời cho công việc tự động hóa.
Học Bash để bắt đầu trở thành power user. Nhưng hãy chắc chắn bạn vui vẻ khi làm nó.