ในขณะที่การประมาณครั้งแรกที่ยุติธรรมเมื่อเริ่มเรียนรู้พื้นฐานการใช้เชลล์ในระดับ "นี่คือวิธีที่หนึ่งเรียกใช้โปรแกรม" และ "นี่คือวิธีที่หนึ่งเรียกใช้โปรแกรมหลาย ๆ โปรแกรมในบรรทัดเดียว" มันไม่เป็นความจริง
ยากที่จะเข้าใจสำหรับการเริ่มต้น แต่คำอธิบายที่ถูกต้องมากขึ้นก็คือภาษาเปลือกเป็นภาษาคอมพิวเตอร์ แต่ก็มีไวยากรณ์ ไวยากรณ์นั้นประกอบด้วยองค์ประกอบคำศัพท์ต่างๆรวมถึงบรรทัดใหม่ (ตัวอักษรอื่น ๆ ) ตัวดำเนินการคำและคำที่สงวนไว้
if
, then
, else
และfi
มีทุกคำสงวน พวกเขามีความหมายโดยเฉพาะอย่างยิ่งเมื่อมีการแยกการป้อนข้อมูลที่หนึ่งให้กับเปลือกตามของไวยากรณ์ ในทำนองเดียวกัน;
คือแยกผู้ประกอบการ
ดังนั้นการป้อนข้อมูลในภาษาของเชลล์จึงเป็นโปรแกรมคอมพิวเตอร์ที่ถูกตีความโดยโปรแกรมอื่นตัวแปลภาษาคือเชลล์ แต่ละส่วนของไวยากรณ์ไม่ใช่โปรแกรม ภาษาของเชลล์เป็นวิธีการระบุโปรแกรม (อื่น ๆ ) เพื่อให้เชลล์ทำงาน
[
ไม่ใช่องค์ประกอบคำศัพท์พิเศษในไวยากรณ์เชลล์เช่นโอเปอเรเตอร์ มันเป็นธรรมดาคำ[
ว่าชื่อหนึ่งโปรแกรมดังกล่าวชื่อ เชลล์จำนวนมากมีโปรแกรมในรุ่นนี้รวมอยู่ในรหัสของโปรแกรมเชลล์เอง แต่คุณยังสามารถค้นหาโปรแกรมภายนอกด้วยชื่อนี้ที่อื่นเช่น/bin/[
หรือ/usr/bin/[
โปรแกรมอื่นที่ไม่ใช่เชลล์สามารถเรียกใช้ได้ อย่างเท่าเทียมกัน]
ไม่ได้เป็นพิเศษองค์ประกอบศัพท์ทั้งเปลือก มันเป็นคำธรรมดาที่กลายเป็นข้อโต้แย้งสำหรับ[
โปรแกรม [
โปรแกรมต้องว่าอาร์กิวเมนต์สุดท้ายเมื่อมีการดำเนินการเป็น]
ซึ่งจะดำเนินการแล้วไม่สนใจ
echo
อีกโปรแกรมที่คล้ายกันมีชื่ออยู่ในคำถามของคุณ อีกครั้งเชลล์ส่วนใหญ่มีโปรแกรมนี้ในตัว แต่อีกครั้งยังมีรุ่นภายนอกของโปรแกรมบางแห่งเช่น/bin/echo
หรือ/usr/bin/echo
เพื่อให้โปรแกรมอื่นที่ไม่ใช่เชลล์เรียกใช้
ls
โปรแกรมที่สามชื่อในคำถามของคุณคือ เปลือกหอยโดยทั่วไปจะไม่ได้สร้างขึ้นในรุ่นของโปรแกรมนี้และมันเป็นโปรแกรมภายนอกจะพบที่ไหนสักแห่งเช่นหรือ/bin/ls
/usr/bin/ls
สำหรับเชลล์ Bourne Again คุณสามารถอ่านเพิ่มเติมเกี่ยวกับสิ่งนี้ได้ในคุณสมบัติเชลล์ขั้นพื้นฐานของเอกสารข้อมูลเชลล์ GNU Bourne Again เปลือกหอยอื่น ๆ มีไวยากรณ์ที่แตกต่างกันตามธรรมชาติ สเปก Unix เดี่ยวอธิบายไวยากรณ์ว่าทุกเปลือก POSIX สอดคล้อง (ในโหมด POSIX สอดคล้องของพวกเขา) ควรจะเป็นไปตาม
อ่านเพิ่มเติม
- " ไวยากรณ์ของเชลล์ " เชลล์ภาษาคำสั่ง ข้อกำหนดเฉพาะพื้นฐานปัญหาที่ 7 กลุ่มที่เปิด IEEE 1003.1-2008 ไอ 1937218812
test
. ยูทิลิตี้ ข้อกำหนดเฉพาะพื้นฐานปัญหาที่ 7 กลุ่มที่เปิด IEEE 1003.1-2008 ไอ 1937218812
- " ไวยากรณ์ของเชลล์ " คู่มือการใช้งาน Z เชลล์ รุ่น 5.3.1 2017