Bourne Shell คืออะไร

Bourne shell เป็นโปรแกรมขนาดเล็กที่ทำงานบนระบบปฏิบัติการUnix®และLINUX®และมีส่วนต่อประสานเพื่อเรียกใช้งานโปรแกรมบนระบบ มันมักจะถูกเรียกว่าส่วนต่อประสานบรรทัดคำสั่งหรือตัวแปลคำสั่งเนื่องจากไม่มีส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) สำหรับผู้ใช้ คำสั่งและพารามิเตอร์ที่จำเป็นใด ๆ ที่จะดำเนินการจะถูกพิมพ์ลงในเปลือก เชลล์เป้าหมายเป็นภาษาสคริปต์ช่วยให้ผู้ใช้สามารถสร้างและเรียกใช้ไฟล์สคริปต์ที่สามารถประมวลผลข้อมูลผ่านหลายโปรแกรมโดยใช้คำสั่งเดียว บนระบบที่เหมือนUnix®โปรแกรมนี้รู้จักกันในชื่อ "sh"

เชลล์ตัวแรกสำหรับระบบUnix®นั้นรู้จักกันในชื่อ Thompson shell ซึ่งสร้างโดย Ken Thompson ซึ่งเป็นหนึ่งในผู้สร้างดั้งเดิมของระบบปฏิบัติการUnix® เชลล์ Thompson จำกัด การตีความคำสั่งและฟังก์ชันเพิ่มเติมจำนวนหนึ่งต้องถูกดำเนินการเป็นการดำเนินงานภายนอก ในภายหลังสตีเฟ่นบอร์นสร้างเชลล์บอร์นเพื่อแทนที่เชลล์ ธ อมป์สันเพิ่มจำนวนฟีเจอร์ใหม่เข้าไปในเชลล์เองเช่นเดียวกับภาษาสคริปต์ของเชลล์

ในความเป็นจริงเชลล์เป้าหมายถูกวางแผนเป็นภาษาสคริปต์จากการเดินทาง แม้ว่ามันจะยังคงเป็นอินเตอร์เฟสบรรทัดคำสั่งสำหรับUnix®เวอร์ชันเจ็ด แต่ยังเปิดโอกาสให้ผู้ใช้พัฒนาเชลล์สคริปต์ที่จะลิงก์คำสั่งเข้าด้วยกันเพื่อประมวลผลข้อมูล ผ่านการใช้โปรแกรมนี้ผู้ใช้สามารถสร้างตัวแปรสำหรับการจับข้อมูลที่รู้จักหรือไม่รู้จักจากอินพุตหรือเอาต์พุตและจัดการการประมวลผลของข้อมูลนั้นผ่านการใช้คำสั่งแบบมีเงื่อนไขในสคริปต์ผ่านเทคนิคที่เรียกว่าโฟลว์ควบคุม

นี่เป็นเชลล์ตัวแรกที่ใช้คุณลักษณะที่รู้จักในชื่อการจัดการสัญญาณ ผ่านบอร์นเชลล์ผู้ใช้สามารถส่งสัญญาณชนิดหนึ่งไปยังกระบวนการที่กำลังทำงานอยู่บนคอมพิวเตอร์โดยสั่งให้กระบวนการนั้นทำอย่างอื่น หลายวิธีเหล่านี้เป็นวิธีที่จะหยุดกระบวนการที่กำลังดำเนินการและสร้างเอาต์พุตบางประเภทที่สามารถใช้สำหรับการดีบักแม้ว่าจะมีคนอื่นที่จะหยุดกระบวนการชั่วคราวทำต่อและอื่น ๆ

ความสามารถในการควบคุมตัวอธิบายไฟล์โดยตรงเป็นอีกสิ่งแรกสำหรับเชลล์เป้าหมาย บนระบบที่เหมือนUnix®ทุกโปรแกรมที่รันอยู่จะมีตารางที่แสดงรายการตัวอธิบายไฟล์สำหรับไฟล์ที่เปิดอยู่ สิ่งนี้สามารถรวมอะไรจากไฟล์ข้อความอย่างง่ายไปยังไดเรกทอรีหรือแม้กระทั่งซ็อกเก็ตการสื่อสารที่กระบวนการใช้ในการแบ่งปันข้อมูลซึ่งกันและกัน เพื่อให้ผู้ใช้สามารถควบคุม file descriptors ในระบบที่อนุญาตให้มีการควบคุมอินพุตและเอาต์พุตอย่างไม่เคยปรากฏมาก่อนสำหรับทุกสิ่งในคอมพิวเตอร์

แน่นอนแม้ว่า Bourne shell จะเสนอฟังก์ชั่นเพิ่มเติมให้กับผู้ใช้ แต่มันก็ขาดคุณสมบัติเช่นความสามารถในการควบคุมกระบวนการโต้ตอบสร้างนามแฝงคำสั่งและเก็บประวัติไว้ อย่างไรก็ตามต่อมาลูกหลานจำนวนหนึ่งเริ่มปรากฏตัวขึ้นโดยใช้คุณสมบัติกระสุนที่มีประโยชน์มากที่สุดที่ได้รับการคิดค้นในช่วงหลายปีที่ผ่านมาและสะสมมันลงในเปลือกหอยใหม่ ตัวอย่างทั่วไปหนึ่งตัวอย่างคือ Bourne-again shell หรือ Bash ซึ่งพบได้ทั่วไปในระบบLINUX®หลายระบบ เป็นผลให้ลูกหลานเหล่านี้จำนวนมากสามารถดำเนินการสคริปต์เชลล์เป้าหมายแบบปกติได้โดยให้ระบบเหมือนกันกับระบบปฏิบัติการยูนิกซ์®ทุกระบบในการใช้งานเชลล์เป้าหมายเดิมไม่ทางใดก็ทางหนึ่ง ในระบบหลายระบบของ LINUX นี่เป็นเพียงลิงค์จาก "sh" ถึง "bash" หรือทายาทที่มีความสามารถอื่น ๆ