ไวยากรณ์ของเชลล์เป็นพื้นฐานของคำนำหน้า มันมีข้อแนะนำโดยคำหลักพิเศษ คำสั่งบางอย่างต้องไปด้วยกัน
การwhile
วนซ้ำทำอย่างน้อยหนึ่งคำสั่งการทดสอบ:
test ; test ; test ; ...
และโดยหนึ่งหรือมากกว่าหนึ่งคำสั่งร่างกาย:
body ; body ; body ; ...
มีบางอย่างที่ต้องบอกเชลล์ว่าการวนรอบสักครู่เริ่มต้นขึ้น นั่นคือจุดประสงค์ของwhile
คำว่า:
while test ; test ; test ; ...
แต่แล้วสิ่งต่าง ๆ ที่คลุมเครือ คำสั่งใดเป็นจุดเริ่มต้นของร่างกาย? มีบางอย่างที่ต้องระบุและนั่นคือสิ่งที่ส่วนdo
นำหน้าใช้:
do body ; body ; body ; ...
และในที่สุดสิ่งที่จะต้องบ่งชี้ว่ามีการเห็นร่างสุดท้าย; คำหลักพิเศษ done
ทำเช่นนั้น
คำหลักเชลล์เหล่านี้ไม่ต้องการการแยกอัฒภาคแม้ในบรรทัดเดียวกัน ตัวอย่างเช่นถ้าคุณปิดลูปซ้อนกันหลาย ๆ done done done ...
คุณสามารถเพียงแค่มี
ค่อนข้างอัฒภาคอยู่ระหว่าง... test ; body ...
ถ้าพวกเขาอยู่ในบรรทัดเดียวกัน อัฒภาคที่จะเข้าใจ Terminator: test
มันเป็นกับ ดังนั้นหากคำหลักที่ถูกแทรกระหว่างพวกเขาก็มีไประหว่างอัฒภาคและdo
body
ถ้าอยู่อีกด้านหนึ่งของอัฒภาคมันจะถูกฝังอย่างผิดพลาดภายในtest
ไวยากรณ์ของคำสั่งแทนที่จะวางไว้ระหว่างคำสั่ง
ไวยากรณ์เปลือกที่ถูกออกแบบมาโดยสตีเฟ่นบอร์นและเป็นแรงบันดาลใจAlgol บอร์นรักอัลกอลมากจนเขาใช้มาโคร C จำนวนมากในซอร์สโค้ดของเชลล์เพื่อทำให้ C ดูเหมือนอัลกอล คุณสามารถเรียกดูแหล่งเปลือก 1979 ลงวันที่ 7 จากเวอร์ชั่นระบบปฏิบัติการยูนิกซ์ มาโครอยู่ในmac.h
และพวกเขาจะใช้ทั่วสถานที่ ยกตัวอย่างเช่นif
งบจะกลายเป็นIF
... ELSE
... ...ELIF
FI