เชลล์ส่วนใหญ่ที่ใช้ในสภาพแวดล้อม UNIX ที่ทันสมัยมีความหมายเพื่อให้สอดคล้องกับข้อมูลจำเพาะ POSIX sh POSIX sh มาจาก Korn เชลล์ดั้งเดิม (ksh88) ซึ่งได้มาจากเชลล์เป้าหมายก่อนหน้านี้ แต่ POSIX sh จะระบุชุดย่อยขนาดเล็กของการทำงานของ ksh88 แม้แต่คู่เท่านั้น เชลล์ที่ใช้เพียงความต้องการขั้นต่ำขาดคุณสมบัติหลายอย่างที่จำเป็นสำหรับการเขียนทั้งหมดยกเว้นสคริปต์ที่เล็กน้อยที่สุดในลักษณะที่ปลอดภัยและสมเหตุสมผล ตัวอย่างเช่นตัวแปรโลคัลและอาร์เรย์เป็นค่าพิเศษที่ไม่ได้มาตรฐาน
ดังนั้นเหตุผลแรกคือการขยายเปลือกด้วยคุณสมบัติพิเศษ กระสุนที่แตกต่างกันเลือกที่จะมุ่งเน้นไปที่สิ่งต่าง ๆ ตัวอย่างเช่น Zsh มุ่งเน้นไปที่คุณสมบัติการโต้ตอบขั้นสูงในขณะที่ ksh93 (เชลล์ korn "ดั้งเดิม" ปัจจุบัน) มุ่งเน้นไปที่คุณสมบัติการเขียนโปรแกรมและประสิทธิภาพ แม้แต่กระสุนขนาดเล็กที่สุดเช่น Dash เพิ่มอย่างน้อยพิเศษที่ไม่ได้มาตรฐานเช่นตัวแปรท้องถิ่น
คุณสมบัติพิเศษนั้นใช้งานร่วมกันได้ไม่บ่อยนักหากเป็นเช่นนั้น ชุดคุณสมบัติ ksh88 ส่วนใหญ่นั้นใช้งานร่วมกันได้ค่อนข้างดีเช่นรูปแบบการขยายแบบวงกลม แต่ด้วยคุณสมบัติที่ไม่ได้มาตรฐานจึงไม่มีการรับประกันและคุณต้องรู้ว่าคุณกำลังทำอะไรเพื่อใช้งานแบบพกพา
เหตุผลที่สองคือมรดก ยังมี Unixes ที่เป็นกรรมสิทธิ์จำนวนมากอยู่ที่นั่นซึ่งใช้การใช้งานที่ไม่ได้มาตรฐานแบบโบราณสำหรับ / bin / sh จนกระทั่งเมื่อเร็ว ๆ Solaris ยังคงใช้ Bourne เป็นค่าเริ่มต้นและเลือกที่จะรักษาเชลล์ Heirloom แทนที่จะอัพเกรดเป็นของทันสมัย ระบบเหล่านี้มักจะมาพร้อมกับเชลล์ที่แตกต่างกันที่คุณสามารถเปลี่ยนไปได้เช่นโดยการเปลี่ยนตัวแปร PATH ของคุณหรือแก้ไข shebangs ภายในสคริปต์แต่ละตัว
ดังนั้นเพื่อสรุป มีหลายเชลล์โดยค่าเริ่มต้น:
- สำหรับคุณสมบัติพิเศษโดยเฉพาะอย่างยิ่งสำหรับการจัดการกับอุปกรณ์เสริมที่ไม่ใช่พกพา
- เพื่อจัดการกับสคริปต์แบบดั้งเดิมซึ่งมักจะไม่ถูกทำลาย
- ขนาด / ประสิทธิภาพ ระบบฝังตัวมักจะต้องการเชลล์ขนาดเล็กเช่น mksh หรือ busybox sh
- เหตุผลการออกใบอนุญาต AT&T ksh เป็นซอฟต์แวร์ที่เป็นกรรมสิทธิ์จนกระทั่งประมาณ 2,000 หรือมากกว่านั้น นี่คือสิ่งที่ก่อให้เกิดโคลน ksh ทั้งหมดเช่น Zsh และ Bash
- เหตุผลทางประวัติศาสตร์อื่น ๆ แม้ว่าจะไม่ได้รับความนิยมมากในวันนี้ แต่ก็มีความพยายามที่รุนแรงในการออกแบบภาษาเช่น scsh และ es คุณสมบัติการทดแทนกระบวนการของเชลล์จำนวนมากมาจาก rc (ด้วยไวยากรณ์ที่แตกต่างกันเล็กน้อย) และการขยายรั้งจาก csh กระสุนที่แตกต่างกันมีคุณสมบัติที่แตกต่างกันรวมอยู่ด้วยโดยทั่วไปแล้วจะมีความแตกต่างเล็กน้อยหรือไม่ลึกซึ้ง