ซีเชลล์ (Zsh หรือ Z Shell) เป็น เชลล์ยูนิกซ์ ที่สามารถใช้เป็นเชลล์ปฏิสัมพันธ์ และเป็นตัวแปลคำสั่งภาษาที่ทรงพลังสำหรับการเขียนเชลล์สคริปต์ ซีเชลล์เป็นส่วนขยายของบอร์นเชลล์ที่ได้รับการปรับปรุงเป็นอย่างมาก รวมถึงการเพิ่มฟังก์ชันบางประการของแบช เคเชลล์ และทีซีเชลล์
ต้นกำเนิด
พอล ฟอลสเตด เขียนซีเชลล์เวอร์ชันแรกในปีคริสต์ศักราช 1990[4] ขณะเป็นนักเรียนที่มหาวิทยาลัยพรินซ์ตัน[5] ชื่อซีเชลล์มีที่มาจากชื่อล็อกอิน "zsh" ของศาสตราจารย์ที่มหาวิทยาลัยเยลนามว่า Zhong Shao (ซึ่งขณะนั้นเป็นผู้ช่วยศาสตราจารย์ที่มหาวิทยาลัยพรินซ์ตัน)[6][7]
คุณสมบัติต่าง ๆ
ซีเชลล์มีคุณสมบัติเช่น:
- ระบบเติมคำสั่งให้สมบูรณ์ (command-line completion) แบบปรับแต่งได้ ที่รองรับทั้งการเติมคำสั่งและอาร์กิวเมนต์ของโปรแกรม ซึ่งรองรับโปรแกรมหลายร้อยโปรแกรมมาแต่ตั้งต้น
- การเรียกดูประวัติการเรียกคำสั่งข้ามเชลล์ทั้งหมดที่เรียกใช้อยู่
- รองรับการทำ file globbing ซึ่งช่วยในการระบุชื่อไฟล์โดยไม่จำเป็นต้องรันคำสั่งเพิ่มเติม (เช่น คำสั่ง find)
- ปรับปรุงการจัดการตัวแปร/อาเรย์
- รองรับการป้อนเข้าคำสั่งแบบหลายบรรทัดในบัฟเฟอร์เดียว
- การตรวจการสะกด
- โหมดความเข้ากันได้ที่หลากหลาย กล่าวคือซีเชลล์สามารถทำตัวเหมือนเป็นบอร์นเชลล์ เมื่อถูกรันด้วย
/bin/sh
- บรรทัดรับคำสั่งที่สามารถตกแต่งได้ รวมถึงความสามารถในการแสดงข้อมูลบริเวณด้านขวาของหน้าจอ และซ่อนข้อมูลนั้นเมื่อพิมพ์คำสั่งที่ยาว
- มอดูลสำหรับความสามารถอื่นที่เรียกใช้ได้เพิ่มเช่น ตัวควบคุม TCP และ Unix domain socket ขนาดเต็ม, ไคลเอนต์ FTP, และส่วนขยายฟังก์ชันทางคณิตศาสตร์
- คำสั่ง
where
ซึ่งทำหน้าที่เหมือนคำสั่ง which
แต่แตกต่างกันที่จะแสดงรายการคำสั่งทั้งหมดที่ถูกระบุใน $PATH
- ความสามารถในการตั้งชื่อไดเร็กทอรี ทำให้สามารถตั้งชื่อเช่น ~mydir ซึ่งมีคุณลักษณะคล้าย ~ และ ~user
Oh My Zsh
เว็บไซต์ชุมชนที่ใช้ชื่อว่า "Oh My Zsh" รวบรวมโปรแกรมเสริมและธีมจากแหล่งภายนอกสำหรับซีเชลล์ ภายในปี ค.ศ. 2016 กรุโค้ดโปรแกรมบนกิตฮับของ Oh My Zsh มีผู้ร่วมเขียนมากกว่า 1,000 คน ปลั๊กอินมากกว่า 200 โปรแกรม และธีมมากกว่า 140 แบบ
นอกจากนั้น Oh My Zsh ยังมาพร้อมกับเครื่องมือที่คอยจัดการปรับปรุงเวอร์ชันของปลั๊กอินและธีมอยู่เสมอ[8]
อ้างอิง
แหล่งข้อมูลอื่น