การเรียนรู้เป็นงานหนัก และไม่มีใครชอบงานหนัก นั่นหมายความว่า ไม่ว่าการเรียน Bash จะง่ายแค่ไหน มันก็อาจรู้สึกเหมือนงานหนักกับคุณ เว้นแต่ว่าคุณเรียนผ่านเกม (Gaming)
คุณคงไม่คิดว่าจะมีเกมเยอะแย่สำหรับสอนการใช้เทอร์มินัล Bash และคุณถูกต้อง เกมเมอร์ PC ระดับจริงจังรู้ว่า ซีรีส์ Fallout มีคอมพิวเตอร์เทอร์มินัลใน Vaults ซึ่งช่วยทำให้การเชื่อมต่อกับคอมพิวเตอร์ผ่านข้อความเป็นเรื่องปกติ แต่แม้จะมีแอปพลิเคชันคล้าย Alpine หรือ Emacs การเล่น Fallout ไม่สอนคำสั่งหรือแอปพลิเคชันที่ใช้ในชีวิตจริงได้ ซีรีส์ Fallout ไม่เคยถูกพอร์ตไป Linux โดยตรง (แม้เล่นได้ผ่าน Proton ของ Steam ซึ่งเป็นโอเพนซอร์ส เกม Wasteland สมัยใหม่ที่เป็น tiềnจัดของ Fallout แต่เป้าหมาย Linux จริงๆ ดังนั้นถ้าอยากลองเทอร์มินัลในเกม สามารถเล่น Wasteland 2 และ 3 บน PC Gaming Linux ได้ ซีรีส์ Shadowrun ก็เป้าหมาย Linux และมีการโต้ตอบเทอร์มินัลมาก แม้จะมักถูกบดบังโดยลำดับ Sim ที่แสบร้อน)
แม้เกมเหล่านั้นใช้แนวทางสนุกกับเทอร์มินัล และรันบนระบบโอเพนซอร์ส แต่นี่ไม่ใช่โอเพนซอร์สเอง อย่างไรก็ตาม มีเกมอย่างน้อย 2 เกม ที่ใช้แนวทางจริงจังและสนุกจริงๆ ในการสอนการโต้ตอบกับระบบผ่านคำสั่งข้อความ และที่สำคัญที่สุด พวกมันเป็นโอเพนซอร์ส
Bashcrawl
คุณอาจเคยได้ยิน Colossal Cave Adventure เกมโต้ตอบแบบข้อความเก่าๆ ลักษณะหนังสือ "Choose Your Own Adventure" นักคอมพิวเตอร์สมัยแรกเล่นอย่างมานิยมที่บรรทัดคำสั่ง DOS หรือ ProDOS 掙扎 (Struggle) หาไวยากรณ์ที่ถูกต้องและตรรกะแฟนตาซีอันคลั่งไคล้ (ตามที่แฮกเกอร์ผู้เย้ยเย้อแปล) เพื่อจบเกม ลองจินตนาการว่าการดิ้นรนอย่างนั้นจะมีประสิทธิภาพแค่ไหน หากความท้าทาย นอกจากการสำรวจดันเจี้ยนยุคกลางเสมือน จึงเป็นการทรงจำคำสั่ง Bash ที่ถูกต้อง นั่นคือข้อเสนอ (Pitch) ของ 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 ให้ไปที่ GitLab ใน Firefox หรือเว็บเบราว์เซอร์ที่ชอบ ด้านขวาของหน้า กดไอคอน Download (ข้างปุ่ม Find file)
ในเมนู Download กดปุ่ม Zip เพื่อดาวน์โหลดรุ่นล่าสุดของเกม
ดาวน์โหลดเสร็จแล้ว แตกไฟล์ Zip
ทางเลือก หากอยากเริ่มทำงานในเทอร์มินัลทันที สามารถใช้ Git:
$ git clone https://gitlab.com/slackermedia/bashcrawl.git bashcrawl
เริ่มต้นใช้งาน
เหมือนแพ็กเกจซอฟต์แวร์ใหม่เกือบทุกอย่างที่คุณดาวน์โหลด สิ่งแรกที่ต้องทำคืออ่านไฟล์ README สามารถทำได้โดยดับเบิลคลิกไฟล์ README.md ในไดเรกทอรี bashcrawl บน Mac คอมพิวเตอร์อาจไม่รู้จะเปิดด้วยแอปอะไร ใช้ текст editor ใดๆ หรือ LibreOffice ได้ README.md บอกวิธีเริ่มเล่นเกมอย่างชัดเจน รวมถึงวิธีเข้าเกมในเทอร์มินัลและคำสั่งแรกที่ต้องพิมพ์ หากคุณไม่อ่าน README เกมชนะโดยค่าเริ่มต้น (แม้จะไม่บอกได้เพราะคุณไม่ได้เล่น)
Bashcrawl ไได้ออกแบบมาให้ฉลาดหรือขั้นสูงเกินไป กลับกัน มันเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ เพื่อให้โปร่งใสต่อผู้ใช้ใหม่ ในในที่สุด ผู้ใช้ Bash ใหม่สามารถเรียนรู้พื้นฐาน Bash จากเกม แล้วพบกับกลไกของเกม รวมถึงสคริปต์ง่ายๆ ที่ทำให้มันทำงาน และเรียนรู้ Bash เพิ่มเติม นอกจากนี้ ผู้ใช้ใหม่สามารถออกแบบดันเจี้ยนของตัวเองได้ โดยติดตามตัวอย่างเนื้อหาของ Bashcrawl และไม่มีวิธีเรียนเขียนโค้ดที่ดีกว่าการสร้างเกม
Command Line Heroes: BASH
Bashcrawl สำหรับผู้เริ่มต้นสมบูรณ์ หากคุณใช้ Bash เป็นประจำ คุณน่าจะพยายามฉลาดกว่า Bashcrawl โดยดูไฟล์แบบที่มือใหม่ไม่รู้ ถ้าคุณเป็นผู้ใช้ Bash ระดับกลางหรือสูง ควรลอง Command Line Heroes: BASH
เกมนี้ง่าย: พิมพ์คำสั่งที่ถูกต้องมากที่สุดเท่าที่คิดไดในเวลาที่กำหนด 聽起來簡單 身為 Bash 用户 你每天使用许多命令。作为 Linux 用户,您知道在哪里可以找到命令列表;仅 util-linux 包就包含 100 多个命令!问题是,在倒计时的压力下,这些命令中有任何一个在您的指尖可用吗?

เกมนี้ดูง่ายเพราะมันง่ายจริงๆ! ในหลักการ มันคล้าย Flashcards แต่กลับกัน ในทางปฏิบัติ มันเป็นวิธีสนุกสนานในการทดสอบความรู้และความทรงจำ และแน่นอน มันเป็นโอเพนซอร์ส พัฒนาโดยผู้สร้าง Open Jam
การติดตั้ง
คุณสามารถเล่น Command Line Heroes: Bash ออนไลน์ได้ หรือดาวน์โหลดซอร์สโค้ดจาก GitHub
เกมนี้เขียนด้วย Node.js ดังนั้นหากไม่อยากช่วยพัฒนาเกม การเล่นออนไลน์เป็นเรื่องสมเหตุสมผล
Minesweeper ใน Bash
หากคุณเป็นผู้ใช้ Bash ระดับสูง และเขียนสคริปต์ Bash หลายตัว คุณอาจเกินกว่าการแค่เรียน Bash สำหรับความท้าทายจริง คุณอาจลองเขียนเกมแทนการเล่น ด้วยความคิดเล็กน้อยและบ่ายหรือ 3 บ่ายของการทำงาน เกมยอดนิยม Minesweeper สามารถนำไปสู่การใช้งานทั้งหมดใน Bash ได้ คุณสามารถลองเขียนเกมเองก่อน แล้วค่อยอ้างอิงบทความของ Abhishek Tamrakar สำหรับภาพรวมว่าทำอย่างไร

บางครั้งการเขียนโปรแกรมไม่มีวัตถุประสงค์นอกจากการศึกษา การเขียนเกมใน Bash อาจไม่ใช่โปรเจกต์ที่คุณจะเดิมพันชื่อเสียงออนไลน์ แต่กระบวนการอาจสนุกและให้ความรู้ และการเผชิญปัญหาที่ไม่เคยคาดหวังเป็นวิธียอดเยี่ยมในการเรียนรู้เทคนิคใหม่
เรียนรู้ Bash; สนุกไปพร้อมกัน
ไม่ว่าคุณจะเข้าใกล้การเรียนรู้มันอย่างไร Bash เป็นอินเทอร์เฟซที่ทรงพลัง เพราะมันให้คุณความสามารถในการสั่งคอมพิวเตอร์ทำสิ่งที่คุณต้องการ โดยไม่ต้องผ่านอินเทอร์เฟซ GUI แบบ "middleman" บางครั้ง GUI ช่วยได้มาก แต่อีกครั้งคุณอยากจบสิ่งที่คุณรู้จักดีและย้ายไปสู่สิ่งที่ทำได้เร็วหรือผ่านอัตโนมัติ เพราะ Bash เป็นข้อความ จึงง่ายต่อการเขียนสคริปต์ ทำให้เป็นจุดเริ่มต้นยอดเยี่ยมสำหรับงานอัตโนมัติ
เรียนรู้ Bash เพื่อเริ่มต้นเป็น Power User แต่อย่าลืมสนุกขณะทำมัน