เชลล์เป็นส่วนต่อประสานบรรทัดคำสั่งที่ช่วยให้เราสามารถรันคำสั่ง โปรแกรม และเชลล์สคริปต์ได้ เชลล์มีรสชาติที่หลากหลาย เช่นเดียวกับระบบปฏิบัติการที่มีรสชาติหลากหลาย แต่ละเชลล์มีชุดคำสั่งและฟังก์ชันการทำงานที่เป็นที่รู้จักกันดี เชลล์เป้าหมายเป็นที่รู้จักกันในนาม "เชลล์" เนื่องจากเป็นเชลล์ตัวแรกที่เปิดตัวบนคอมพิวเตอร์ Unix ในเวอร์ชัน Unix ส่วนใหญ่ Bourne shell จะถูกติดตั้งเป็น /bin/sh
ทุบตี vs เชลล์
ความแตกต่างระหว่าง bash และ Shell คือ Bash เป็น superset ของ sh ซึ่งหมายความว่าสนับสนุนการทำงานของ sh ในขณะที่เพิ่มส่วนขยายเพิ่มเติมด้วย คำสั่งส่วนใหญ่ทำงานในลักษณะเดียวกับที่ทำใน sh ในขณะที่เชลล์เป็นส่วนต่อประสานระหว่างผู้ใช้กับระบบปฏิบัติการที่อนุญาตให้ผู้ใช้มีส่วนร่วมกับคอมพิวเตอร์ เราจำเป็นต้องมีเทอร์มินัลอีมูเลเตอร์ เช่น gnome-terminal, console หรือ st เพื่อเชื่อมต่อกับเชลล์
Bash เป็นซอฟต์แวร์เชลล์ที่สร้างขึ้นเพื่อเป็นการปรับปรุงแอปพลิเคชัน Bourne Shell 'sh' มันใช้งานได้ดีกว่า Bourne Shell ในแง่ของการเขียนโปรแกรมและการใช้งานเชิงโต้ตอบ มีคุณลักษณะต่างๆ เช่น การแก้ไขบรรทัดคำสั่ง การผูกคีย์ และประวัติคำสั่งที่ไม่รู้จบ สำหรับลีนุกซ์รุ่นส่วนใหญ่และ macOS ของ Apple, Bash เป็นเชลล์การเข้าสู่ระบบเริ่มต้น นอกจากนี้ยังมีให้สำหรับ Windows 10 ที่มีรุ่น Solaris 11 และเชลล์ผู้ใช้เริ่มต้น
เชลล์คือซอฟต์แวร์ที่อนุญาตให้ผู้ใช้ระบบปฏิบัติการเข้าถึงบริการของเคอร์เนลผ่านอินเทอร์เฟซผู้ใช้ เชลล์สามารถเรียกใช้งานได้โดยคำสั่งเชลล์ในอินเทอร์เฟซบรรทัดคำสั่ง (CLI) บนระบบปฏิบัติการที่ใช้ Unix หรือ Linux ทำให้ผู้คนสามารถจัดการการทำงานผ่านคำสั่ง ข้อความ หรือสคริปต์เฉพาะได้ ภาษาการเขียนโปรแกรมมีเปลือกซึ่งให้ความเป็นอิสระจากระบบปฏิบัติการและช่วยให้สามารถทำงานร่วมกันข้ามแพลตฟอร์มได้
ตารางเปรียบเทียบระหว่าง Bash และ Shell
พารามิเตอร์ของการเปรียบเทียบ | ทุบตี | เปลือก |
ประเภท | มี 4 หมวดหมู่ | มี 2 ประเภทใหญ่ๆ |
ชื่อ | บอร์น อะเกน เชลล์ | Bourne Shell หรือเพียงแค่ "The Shell" |
ฟังก์ชั่น | มีฟังก์ชันการทำงานที่มากขึ้นด้วยการอัปเกรด | มีฟังก์ชันการทำงานน้อยกว่า |
นักพัฒนา | Brain Fox | Stephen R. Bourne |
แบบฟอร์มการติดตั้ง | /bin/bash | /bin/sh |
ควบคุมงาน | Bash Shell รองรับการควบคุมงาน | Bourne Shell ไม่สนับสนุนการควบคุมงาน |
ประวัติคำสั่ง | Bash Shell รองรับประวัติคำสั่ง | เชลล์ไม่รองรับประวัติคำสั่ง |
ทุบตีคืออะไร?
BASH ย่อมาจาก Bourne Again Shell ซึ่งเป็นคำที่แสดงถึงความเคารพต่อ Bourne Shell Bash เป็นโปรแกรมเชลล์ที่พัฒนาโดย Brian Fox เพื่ออัปเดตแอปพลิเคชัน Bourne Shell 'sh' เป็นโครงการ GNU ที่เป็นโอเพ่นซอร์ส เปิดตัวครั้งแรกในปี 1989 โดยเป็นหนึ่งในการกระจายเชลล์ GNU/Linux ที่ได้รับความนิยมมากที่สุด มันใช้งานได้ดีกว่า Bourne Shell ในแง่ของการเขียนโปรแกรมและการใช้งานเชิงโต้ตอบ
มีคุณลักษณะต่างๆ เช่น การแก้ไขบรรทัดคำสั่ง การผูกคีย์ และประวัติคำสั่งที่ไม่รู้จบ Bash เป็นล่ามบรรทัดคำสั่งที่ทำงานในหน้าต่างข้อความและอนุญาตให้ผู้ใช้ตีความคำสั่งเพื่อทำงานต่างๆ เชลล์สคริปต์คือลำดับของคำสั่งเหล่านี้ที่อยู่ในไฟล์เดียว Shell Script สามารถอ่านและดำเนินการได้โดยใช้ Bash
Bash เข้ากันได้กับ sh เนื่องจากใช้ UNIX Bourne Shell ดั้งเดิม มีคุณลักษณะที่ดีที่สุดและมีประโยชน์มากที่สุดของ Korn และ C เชลล์ เช่น การจัดการไดเร็กทอรี การควบคุมงาน นามแฝง และอื่นๆ การโยงคีย์ใน Bash ช่วยให้คุณสร้างลำดับคีย์การแก้ไขแบบกำหนดเองได้ Bash มีอาร์เรย์หนึ่งมิติที่ทำให้ง่ายต่อการเข้าถึงและจัดการรายการข้อมูล
ประวัติของไดเร็กทอรีที่เพิ่งเยี่ยมชมภายในรายการถูกระบุโดย Directory Stack ใน Bash ตัวอย่างเช่น ดัน ในตัวถูกใช้เพื่อเพิ่มไดเร็กทอรีไปยังสแต็ก, the popd ในตัวใช้เพื่อลบไดเร็กทอรีออกจากสแต็กและ dirs ในตัวใช้เพื่อแสดงเนื้อหาของไดเร็กทอรีสแต็ก
เชลล์คืออะไร?
ระบบปฏิบัติการ Unix มีอินเทอร์เฟซบรรทัดคำสั่งที่เรียกว่าเชลล์ มันรวบรวมข้อมูลจากคุณและรันโปรแกรมโดยขึ้นอยู่กับข้อมูลนั้น เอาต์พุตของโปรแกรมจะแสดงขึ้นเมื่อดำเนินการเสร็จสิ้น เชลล์เป็นส่วนต่อประสานบรรทัดคำสั่งที่ช่วยให้เราสามารถรันคำสั่ง โปรแกรม และเชลล์สคริปต์ได้ เชลล์มีรสชาติที่หลากหลาย เช่นเดียวกับระบบปฏิบัติการที่มีรสชาติหลากหลาย
แต่ละเชลล์มีชุดคำสั่งและฟังก์ชันการทำงานที่เป็นที่รู้จักกันดี เชลล์สคริปต์เป็นเพียงชุดของคำสั่งที่แสดงในลำดับที่ควรดำเนินการ ความคิดเห็น นำหน้าด้วยสัญลักษณ์ # อธิบายขั้นตอนของเชลล์สคริปต์ที่เหมาะสม
เชลล์ออกพรอมต์ $ ซึ่งบางครั้งเรียกว่าพรอมต์คำสั่ง คุณสามารถพิมพ์คำสั่งในขณะที่พรอมต์ปรากฏขึ้น หลังจากที่คุณกด Enter เชลล์จะอ่านข้อมูลที่คุณป้อน จะดูที่คำแรกของข้อมูลที่คุณป้อนเพื่อตัดสินใจว่าคุณต้องการเรียกใช้คำสั่งใด คำคือชุดอักขระต่อเนื่องกัน คำถูกคั่นด้วยช่องว่างและแท็บ เชลล์สคริปต์ต้องมีโครงสร้างบังคับบางอย่างที่สั่งงานสภาพแวดล้อมของเชลล์ว่าต้องทำอะไรและเมื่อใด อย่างไรก็ตาม สคริปต์ส่วนใหญ่ซับซ้อนกว่าสคริปต์ด้านบน
ท้ายที่สุดแล้ว เชลล์คือภาษาโปรแกรมเต็มรูปแบบที่มีตัวแปร โครงสร้างการควบคุม และอื่นๆ สคริปต์ยังคงเป็นเพียงชุดคำสั่งที่ดำเนินการตามลำดับ ไม่ว่ามันจะซับซ้อนแค่ไหนก็ตาม
ความแตกต่างหลักระหว่าง Bash และ Shell
บทสรุป
เชลล์ UNIX ดั้งเดิมคือ Bourne shell (sh) ซึ่งเขียนโดย Stephen R. Bourne ที่ AT&T Bell Labs เนื่องจากความเรียบง่ายและความรวดเร็ว เชลล์จึงแนะนำสำหรับการเขียนโปรแกรมเชลล์ เชลล์เป้าหมายมีข้อเสียอยู่อย่างหนึ่ง: ไม่มีคุณลักษณะแบบโต้ตอบ เช่น ความสามารถในการจดจำประวัติคำสั่ง นอกจากนี้ Bourne shell ยังขาดการสนับสนุนในตัวสำหรับนิพจน์ทางคณิตศาสตร์และตรรกะ
Bash ซึ่งเป็นรูปแบบที่อัปเกรดแล้วของ Bourne Shell รองรับคุณสมบัติเพิ่มเติมมากมาย ไม่เหมือน sh Bash เป็นล่ามสำหรับภาษาคำสั่ง sh ที่รันคำสั่งจากอินพุตมาตรฐานหรือไฟล์ Bash สามารถกำหนดค่าให้เป็นไปตาม POSIX ตามค่าเริ่มต้น