ความแตกต่างระหว่าง Bash และ Shell (พร้อมตาราง)

สารบัญ:

Anonim

เชลล์เป็นส่วนต่อประสานบรรทัดคำสั่งที่ช่วยให้เราสามารถรันคำสั่ง โปรแกรม และเชลล์สคริปต์ได้ เชลล์มีรสชาติที่หลากหลาย เช่นเดียวกับระบบปฏิบัติการที่มีรสชาติหลากหลาย แต่ละเชลล์มีชุดคำสั่งและฟังก์ชันการทำงานที่เป็นที่รู้จักกันดี เชลล์เป้าหมายเป็นที่รู้จักกันในนาม "เชลล์" เนื่องจากเป็นเชลล์ตัวแรกที่เปิดตัวบนคอมพิวเตอร์ 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 ตามค่าเริ่มต้น

อ้างอิง

ความแตกต่างระหว่าง Bash และ Shell (พร้อมตาราง)