คำสั่ง Linux ทุบตี เป็นดวลจุดโทษinterpreter คำสั่งที่เข้ากันได้ที่รันคำสั่งที่อ่านจากอินพุตมาตรฐานหรือจากไฟล์ทุบตี นอกจากนี้ยังมีคุณสมบัติที่เป็นประโยชน์จากเปลือก Korn และ C (ksh และcsh).
ตัวเลือก Bash
นอกเหนือไปจากตัวเลือกเชลล์ตัวเดียวที่ได้รับการบันทึกไว้ในคำอธิบายของชุด คำสั่ง builtin,ทุบตี ตีความตัวเลือกต่อไปนี้เมื่อเรียกใช้:
- -c สตริง: ถ้า-c มีอยู่แล้วจะอ่านคำสั่งจาก เชือก . หากมีอาร์กิวเมนต์หลัง เชือก พวกเขาจะถูกกำหนดให้กับพารามิเตอร์ตำแหน่งเริ่มต้นด้วย$0.
- -ผม: ถ้า-ผม ตัวเลือกมีอยู่เปลือกคือ โต้ตอบ .
- -l: ทำทุบตี ทำราวกับว่ามันถูกเรียกเป็นเปลือกเข้าสู่ระบบ
- -r: ถ้า-r ตัวเลือกมีอยู่เปลือกจะกลายเป็น ถูก จำกัด.
- -s: ถ้า-s มีอยู่หรือถ้าไม่มีอาร์กิวเมนต์ใดที่ยังคงอยู่หลังจากประมวลผลตัวเลือกคำสั่งจะอ่านจากอินพุตมาตรฐาน ตัวเลือกนี้ช่วยให้สามารถตั้งค่าพารามิเตอร์ตำแหน่งได้เมื่อพูดถึงเปลือกโต้ตอบ
- -D: รายการสตริงคู่ที่ยกมาก่อนหน้าด้วย$ จะพิมพ์บนเอาต์พุตมาตรฐาน ต่อไปนี้เป็นสตริงที่ต้องแปลภาษาเมื่อสถานที่ปัจจุบันไม่อยู่C หรือPOSIX. นี่หมายถึง -n ตัวเลือก; จะไม่มีคำสั่งใด ๆ
- - + O shopt_option : shopt_option เป็นหนึ่งในตัวเลือกเปลือกที่ยอมรับโดยshopt builtin ถ้า shopt_option เป็นปัจจุบัน,-O กำหนดค่าของตัวเลือกนั้นและ+ O unsets it. ถ้า shopt_option ไม่ได้ระบุชื่อและค่าของตัวเลือกเชลล์ที่ยอมรับโดยshopt จะพิมพ์บนเอาต์พุตมาตรฐาน ถ้าตัวเลือกการเรียกคือ + O, เอาต์พุตจะแสดงในรูปแบบที่อาจนำมาใช้ซ้ำในรูปแบบอินพุต
- --: -- สัญญาณสิ้นสุดของตัวเลือกและปิดใช้งานการประมวลผลตัวเลือกเพิ่มเติม อาร์กิวเมนต์ใด ๆ หลังจากที่-- จะถือว่าเป็นชื่อไฟล์และอาร์กิวเมนต์ อาร์กิวเมนต์ของ- เท่ากับ--.
ทุบตี ยังตีความตัวเลือกหลายตัว ตัวเลือกเหล่านี้ต้องปรากฏบนบรรทัดคำสั่งก่อนที่จะจดจำตัวเลือกอักขระเดี่ยว:
- --dump-PO-สตริง: เทียบเท่ากับ-Dแต่เอาท์พุทอยู่ใน GNU gettext PO (แบบพกพา) รูปแบบไฟล์
- --dump สตริง: เทียบเท่ากับ-D.
- --ช่วยด้วย: แสดงข้อความการใช้งานบนเอาต์พุตมาตรฐานและออกจากระบบสำเร็จ
- --init ไฟล์: ไฟล์ และ --rcfile ไฟล์ : ดำเนินการคำสั่งจาก ไฟล์ แทนไฟล์เริ่มต้นส่วนบุคคลมาตรฐาน ~ / .bashrc ถ้าเปลือกเป็นแบบโต้ตอบ
- --เข้าสู่ระบบ: เทียบเท่ากับ-l.
- --noediting: อย่าใช้ GNUReadLine ห้องสมุดอ่านบรรทัดคำสั่งเมื่อเปลือกเป็นแบบโต้ตอบ
- --noprofile: อย่าอ่านไฟล์ startup systemwide / etc / รายละเอียด หรือไฟล์เริ่มต้นส่วนบุคคลใด ๆ ~ / .bash_profile , ~ / .bash_login , หรือ ~ / .profile . โดยค่าเริ่มต้น,ทุบตี อ่านไฟล์เหล่านี้เมื่อเรียกใช้เป็นเชลล์ล็อกอิน
- --norc: อย่าอ่านและรันไฟล์การเตรียมใช้งานส่วนบุคคล ~ / .bashrc ถ้าเปลือกเป็นแบบโต้ตอบ ตัวเลือกนี้เปิดอยู่โดยค่าเริ่มต้นถ้าเปลือกถูกเรียกเป็นดวลจุดโทษ.
- --posix: เปลี่ยนลักษณะการทำงานของทุบตี ซึ่งการดำเนินการเริ่มต้นแตกต่างจากมาตรฐาน POSIX เพื่อให้ตรงกับมาตรฐาน ( โหมด posix ).
- --ถูก จำกัดเปลือกหดตัว
- --rpm-ต้อง: จัดทำรายการไฟล์ที่จำเป็นสำหรับสคริปต์เชลล์เพื่อรัน นี่หมายถึง '-n' และอาจมีข้อ จำกัด เช่นเดียวกับการตรวจสอบการตรวจสอบข้อผิดพลาดในการคอมไพล์ การทดสอบ Backticks, และ Eval ไม่ได้รับการแยกวิเคราะห์ดังนั้นการละเว้นบางอย่างอาจไม่ได้รับการพิจารณา
- --verbose: เทียบเท่า-v.
- --version: แสดงข้อมูลเวอร์ชันสำหรับอินสแตนซ์นี้ของทุบตี บนเอาท์พุทมาตรฐานและออกสำเร็จ
ข้อโต้แย้ง
ถ้าอาร์กิวเมนต์ยังคงอยู่หลังการประมวลผลตัวเลือกและไม่ใช่-c หรือที่-s ตัวเลือกแรกถูกสันนิษฐานว่าเป็นชื่อของไฟล์ที่มีคำสั่งเชลล์ ถ้า ทุบตี จะเรียกในรูปแบบนี้,$0 ถูกตั้งค่าเป็นชื่อของไฟล์และพารามิเตอร์ตำแหน่งจะถูกตั้งค่าเป็นอาร์กิวเมนต์ที่เหลืออยู่ทุบตี อ่านและรันคำสั่งจากไฟล์นี้ แล้วออกทุบตีสถานะการออกจากระบบคือสถานะการออกจากคำสั่งสุดท้ายที่ดำเนินการในสคริปต์ ถ้าไม่มีคำสั่งใด ๆ สถานะการออกจากระบบคือ 0 ความพยายามครั้งแรกเพื่อเปิดไฟล์ในไดเร็กตอรี่ปัจจุบันและหากไม่พบไฟล์จากนั้น shell จะค้นหาไดเร็กทอรีในเส้นทาง สำหรับสคริปต์
การภาวนา
เปลือกเข้าสู่ระบบ เป็นตัวอักษรตัวแรกของอาร์กิวเมนต์ศูนย์คือ a-, หรือหนึ่งเริ่มต้นด้วย--เข้าสู่ระบบ ตัวเลือก
โต้ตอบ เปลือกเป็นหนึ่งเริ่มต้นโดยไม่ต้องอาร์กิวเมนต์ที่ไม่ใช่ตัวเลือกและไม่มี-c ตัวเลือกที่มีอินพุตและเอาต์พุตมาตรฐานเชื่อมต่อกับเทอร์มินัลตามที่กำหนดไว้ isatty (3) หรือหนึ่งตัวขึ้นต้นด้วย-ผม ตัวเลือกPS1 ถูกตั้งค่าและ $- รวมถึงถ้าทุบตีเป็นแบบอินเทอร์แอ็ตชันการอนุญาตให้สคริปต์เชลล์หรือไฟล์เริ่มต้นใช้เพื่อทดสอบสถานะนี้
ย่อหน้าต่อไปนี้จะอธิบายว่าอย่างไรทุบตี รันไฟล์เริ่มต้นระบบ หากไฟล์ใดมีอยู่ แต่ไม่สามารถอ่านได้ทุบตี รายงานข้อผิดพลาด Tildes จะถูกขยายในชื่อไฟล์ตามที่อธิบายไว้ใน Tilde Expansion
เมื่อทุบตี ถูกเรียกเป็นเปลือกการเข้าสู่ระบบแบบโต้ตอบหรือเป็นเปลือกที่ไม่โต้ตอบกับ--เข้าสู่ระบบ ตัวแรกจะอ่านและรันคำสั่งจากไฟล์ / etc / รายละเอียด หากไฟล์นั้นมีอยู่ หลังจากอ่านไฟล์แล้วจะมองหา ~ / .bash_profile , ~ / .bash_login , และ ~ / .profile , ในลำดับที่และอ่านและรันคำสั่งจากครั้งแรกที่มีอยู่และสามารถอ่านได้--noprofile อาจใช้เมื่อเปลือกเริ่มที่จะยับยั้งการทำงานนี้
เมื่อเปลือกเข้าสู่ระบบออก,ทุบตี อ่านและรันคำสั่งจากไฟล์ ~ / .bash_logout ถ้ามีอยู่
เมื่อเชลล์แบบโต้ตอบซึ่งไม่ใช่เชลล์ล็อกอินจะเริ่มทำงานทุบตี อ่านและรันคำสั่งจาก ~ / .bashrc หากไฟล์นั้นมีอยู่ ซึ่งอาจถูกยับยั้งโดยใช้--norc ตัวเลือก--rcfile ไฟล์ ตัวเลือกจะบังคับทุบตี อ่านและรันคำสั่งจาก ไฟล์ แทน ~ / .bashrc .
เมื่อทุบตี เริ่มต้นไม่โต้ตอบ - เพื่อเรียกใช้สคริปต์เชลล์เช่น - จะมองหาตัวแปรBASH_ENV ในสภาพแวดล้อมที่ขยายค่าของมันถ้ามันปรากฏอยู่ที่นั่นและใช้ค่าที่ขยายเป็นชื่อของไฟล์ที่จะอ่านและดำเนินการทุบตี จะทำงานเหมือนกับว่าคำสั่งต่อไปนี้ถูกเรียกใช้งาน:
ถ้า -n "$ BASH_ENV"; แล้ว "$ BASH_ENV"; Fi
แต่ค่าของเส้นทาง ตัวแปรไม่ใช้เพื่อค้นหาชื่อไฟล์ ถ้าทุบตี ถูกเรียกด้วยชื่อดวลจุดโทษจะพยายามเลียนแบบพฤติกรรมเริ่มต้นของเวอร์ชันที่ผ่านมาดวลจุดโทษ ให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้และสอดคล้องกับมาตรฐาน POSIX ด้วย เมื่อเรียกใช้เป็นเชลล์การเข้าสู่ระบบแบบอินเทอร์แอคทีฟหรือเปลือกที่ไม่ใช่แบบโต้ตอบพร้อมกับ--เข้าสู่ระบบ ตัวเลือกแรกพยายามที่จะอ่านและรันคำสั่งจาก / etc / รายละเอียด และ ~ / .profile , เพื่อให้.--noprofile อาจถูกใช้เพื่อยับยั้งการทำงานนี้ เมื่อเรียกเป็นเปลือกโต้ตอบที่มีชื่อ ดวลจุดโทษ, ทุบตี มองหาตัวแปรENVขยายค่าของมันถ้ามีการกำหนดและใช้ค่าที่ขยายเป็นชื่อของไฟล์ที่จะอ่านและดำเนินการ เนื่องจากเปลือกเรียกเป็นดวลจุดโทษ ไม่พยายามอ่านและรันคำสั่งจากไฟล์เริ่มต้นอื่น ๆ--rcfile ตัวเลือกไม่มีผล เปลือกที่ไม่โต้ตอบซึ่งเรียกใช้ชื่อดวลจุดโทษ ไม่พยายามอ่านไฟล์เริ่มต้นระบบอื่น ๆ เมื่อเรียกเป็นดวลจุดโทษ, ทุบตี เข้าสู่ POSIX หลังจากอ่านไฟล์เริ่มต้นแล้ว เมื่อทุบตี เริ่มต้น POSIX โหมดเช่นเดียวกับ--posix ตัวเลือกบรรทัดคำสั่งตามมาตรฐาน POSIX สำหรับไฟล์เริ่มต้น ในโหมดนี้หอยโต้ตอบจะขยายENV ตัวแปรและคำสั่งจะถูกอ่านและดำเนินการจากไฟล์ที่มีชื่อเป็นค่าขยาย ไม่มีไฟล์เริ่มต้นอื่น ๆ ถูกอ่าน ทุบตี ความพยายามที่จะกำหนดเมื่อมีการเรียกใช้โดย daemon เปลือกระยะไกลโดยปกติ rshd . ถ้า ทุบตี กำหนดว่ากำลังดำเนินการอยู่ rshd จะอ่านและรันคำสั่งจาก ~ / .bashrc ถ้าไฟล์นั้นมีอยู่และสามารถอ่านได้ จะไม่ทำเช่นนี้ถ้าเรียกเป็นดวลจุดโทษ.--norc อาจถูกใช้เพื่อยับยั้งการทำงานนี้และ--rcfile อาจใช้เพื่อบังคับให้ไฟล์อื่นอ่าน แต่ rshd โดยทั่วไปไม่เรียกเปลือกที่มีตัวเลือกเหล่านั้นหรืออนุญาตให้มีการระบุ ถ้าเชลล์เริ่มต้นด้วยหมายเลขผู้ใช้ (กลุ่ม) ที่มีประสิทธิภาพไม่เท่ากับ ID ผู้ใช้จริง (กลุ่ม) และ-p ตัวเลือกไม่ได้ให้มาไม่มีการเริ่มต้นไฟล์ที่จะอ่านฟังก์ชั่นเปลือกไม่ได้รับมาจากสภาพแวดล้อม,SHELLOPTS ตัวแปรถ้าปรากฏในสภาพแวดล้อมถูกละเว้นและ ID ผู้ใช้ที่มีประสิทธิภาพถูกตั้งค่าเป็นรหัสผู้ใช้จริง ถ้า-p จะมีการจัดทำขึ้นที่ invocation ลักษณะการเริ่มต้นใช้งานเหมือนกัน แต่ไม่มีการตั้งค่ารหัสผู้ใช้ที่มีประสิทธิภาพ คำจำกัดความต่อไปนี้ใช้ตลอดช่วงที่เหลือของเอกสารนี้: คำสงวน เป็นคำที่มีความหมายพิเศษสำหรับเปลือก คำต่อไปนี้ได้รับการยอมรับว่าเป็นสิทธิเมื่อ unquoted และคำแรกของคำสั่งง่ายๆหรือคำที่สามของ aกรณีหรือสำหรับ คำสั่ง: ! กรณีทำ elif อื่น esac fi สำหรับฟังก์ชันถ้าในการเลือกแล้วจนกระทั่งในขณะที่ {} เวลา คำสั่งง่ายๆ คือลำดับของการกำหนดตัวแปรตามด้วยว่างเปล่าคำที่แยกจากกันและ redirections และยกเลิกโดย a ควบคุมการดำเนินงาน . คำแรกระบุคำสั่งที่จะดำเนินการและถูกส่งผ่านเป็นอาร์กิวเมนต์เป็นศูนย์ คำที่เหลือจะถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังคำสั่งที่เรียกใช้ ค่าตอบแทนของ a คำสั่งง่ายๆ เป็นสถานะทางออกหรือ 128+ n ถ้าคำสั่งถูกยกเลิกโดยสัญญาณ n . ท่อ คือลำดับของคำสั่งอย่างน้อยหนึ่งคำที่คั่นด้วยอักขระ|. รูปแบบของท่อคือ เวลา -p ! คำสั่ง | Command2 … . เอาต์พุตมาตรฐานของ คำสั่ง เชื่อมต่อผ่านทางท่อเพื่อเข้ามาตรฐานของ Command2 . การเชื่อมต่อนี้จะดำเนินการก่อนการเปลี่ยนเส้นทางที่ระบุโดยคำสั่ง ถ้าคำสงวน! นำหน้าท่อสถานะทางออกของท่อนั่นคือตรรกะไม่ออกจากสถานะของคำสั่งสุดท้าย มิฉะนั้นสถานะของท่อคือสถานะทางออกของคำสั่งสุดท้าย เปลือกรอคำสั่งทั้งหมดในท่อเพื่อยุติก่อนที่จะส่งคืนค่า ถ้าเวลา คำสงวนไว้ล่วงหน้าก่อนท่อที่ใช้เวลาผ่านไปตลอดจนเวลาของผู้ใช้และระบบที่บริโภคโดยการดำเนินการจะมีการรายงานเมื่อสิ้นสุดท่อ-p ตัวเลือกเปลี่ยนรูปแบบเอาต์พุตเป็นที่ระบุโดย POSIXTIMEFORMAT สามารถตั้งค่าเป็นสตริงรูปแบบที่ระบุว่าควรแสดงข้อมูลการจับเวลาอย่างไร แต่ละคำสั่งในท่อจะถูกดำเนินการเป็นกระบวนการแยกต่างหาก (เช่นใน subshell เป็นต้น) รายการ คือลำดับของท่ออย่างน้อยหนึ่งรายการที่คั่นด้วยตัวดำเนินการอย่างใดอย่างหนึ่ง;, &, &&, หรือ||และเลือกที่จะยกเลิกโดยหนึ่งในนั้น;, &, หรือ ของผู้ประกอบการรายชื่อเหล่านี้,&& และ|| มีความสำคัญเท่ากันตามด้วย; และ&, ซึ่งมีความสำคัญเท่ากัน ลำดับของบรรทัดใหม่อย่างน้อยหนึ่งบรรทัดอาจปรากฏใน a รายการ แทนเครื่องหมายอัฒภาคเพื่อกำหนดคำสั่ง ถ้าคำสั่งถูกยกเลิกโดยผู้ควบคุม&, shell รันคำสั่งใน พื้นหลัง ในชั้นย่อย เปลือกไม่รอคำสั่งให้เสร็จสิ้นและสถานะการส่งคืนคือ 0 คำสั่งที่คั่นด้วย a; จะดำเนินการตามลำดับ เปลือกรอแต่ละคำสั่งเพื่อยุติการในทางกลับกัน สถานะการส่งคืนคือสถานะทางออกของคำสั่งสุดท้ายที่ดำเนินการ ผู้ดำเนินการควบคุม&& และ|| แสดงและรายการและหรือรายการตามลำดับ รายการ AND มีแบบฟอร์ม Command1 && Command2 Command2 จะทำงานถ้าและเฉพาะในกรณีที่ Command1 ส่งกลับสถานะการออกจากศูนย์ รายการหรือมีแบบฟอร์ม Command1 || Command2 Command2 จะถูกประมวลผลเมื่อและเมื่อไรเท่านั้น Command1 ส่งกลับค่าสถานะทางออกที่ไม่ใช่ศูนย์ สถานะการส่งคืนของ AND และ OR รายการคือสถานะการออกจากคำสั่งสุดท้ายที่ดำเนินการในรายการ คำสั่งผสม เป็นหนึ่งในต่อไปนี้: (รายการ) : รายการ จะถูกดำเนินการใน subshell การกำหนดตัวแปรและคำสั่ง builtin ที่มีผลต่อสภาพแวดล้อมของเชลล์จะไม่มีผลต่อหลังจากคำสั่งเสร็จสิ้น สถานะการส่งคืนคือสถานะทางออกของ รายการ . {list; } : รายการ จะถูกดำเนินการในสภาพแวดล้อมของเชลล์ปัจจุบันเท่านั้น รายการ ต้องถูกยกเลิกด้วยบรรทัดใหม่หรืออัฒภาค นี้เรียกว่า a คำสั่งกลุ่ม . สถานะการส่งคืนคือสถานะทางออกของ รายการ . โปรดทราบว่าไม่เหมือนกับ metacharacters( และ), { และ} เป็น คำสงวน และต้องเกิดขึ้นที่คำสงวนลิขสิทธิ์ได้รับอนุญาตให้จดจำ เนื่องจากไม่ก่อให้เกิดคำว่าแบ่งพวกเขาจึงต้องแยกออกจากกัน รายการ โดยช่องว่าง ((expression)) : The การแสดงออก ได้รับการประเมินตามกฎที่อธิบายไว้ใน การประเมินเลขคณิต ถ้าค่าของนิพจน์ไม่ใช่ศูนย์ผลลัพธ์ที่ได้คือ 0; มิฉะนั้นสถานะการส่งคืนคือ 1 นี่เทียบเท่ากับปล่อย ' การแสดงออก '. การแสดงออก : แสดงสถานะเป็น 0 หรือ 1 ขึ้นอยู่กับการประเมินผลของนิพจน์เงื่อนไข การแสดงออก . นิพจน์ประกอบด้วยพรรคที่อธิบายไว้ด้านล่างนี้ภายใต้ นิพจน์เงื่อนไข การแยกคำและการขยายชื่อพา ธ ไม่ได้ดำเนินการกับคำระหว่าง และ; การขยายตัวหนอนพารามิเตอร์และการขยายตัวแปรการขยายตัวทางคณิตศาสตร์การแทนที่คำสั่งการแทนที่กระบวนการและการลบข้อความจะดำเนินการ เมื่อ== และ!= ตัวดำเนินการถูกใช้สายอักขระทางด้านขวาของโอเปอเรเตอร์ถือเป็นรูปแบบและตรงตามกฎที่อธิบายไว้ในการจับคู่รูปแบบ. ค่าที่ส่งกลับคือ 0 ถ้าสตริงตรงหรือไม่ตรงกับรูปแบบตามลำดับและ 1 มิฉะนั้น ส่วนใดส่วนหนึ่งของรูปแบบอาจถูกยกมาเพื่อบังคับให้จับคู่เป็นสตริง นิพจน์อาจรวมกันโดยใช้ตัวดำเนินการต่อไปนี้ตามลำดับลำดับความสำคัญที่ลดลง: && และ|| ผู้ประกอบการไม่ได้ประเมิน Expression2 ถ้าค่าของ Expression1 เพียงพอที่จะระบุค่าที่ส่งกลับของนิพจน์เงื่อนไขทั้งหมด ในเปลือกที่ไม่มีการโต้ตอบหรือเปลือกโต้ตอบที่มี interactive_comments ตัวเลือกshopt builtin ถูกเปิดใช้งานคำที่ขึ้นต้นด้วย# ทำให้คำนั้นและตัวอักษรที่เหลือทั้งหมดในบรรทัดนั้นถูกละเลย เปลือกแบบโต้ตอบโดยไม่มีinteractive_comments เปิดใช้ตัวเลือกไม่อนุญาตให้แสดงความคิดเห็น interactive_comments เป็นค่าเริ่มต้นในเปลือกแบบอินเทอร์แอคทีฟ quoting ใช้เพื่อลบความหมายพิเศษของตัวอักษรหรือคำบางคำไปยังเชลล์ Quoting สามารถใช้เพื่อปิดการใช้งานการรักษาพิเศษสำหรับอักขระพิเศษเพื่อป้องกันไม่ให้มีการจดจำคำสงวนและป้องกันการขยายตัวพารามิเตอร์ แต่ละแห่ง metacharacters ที่ระบุไว้ข้างต้นคำนิยาม มีความหมายพิเศษกับเปลือกหอยและต้องมีการอ้างถึงถ้าเป็นตัวแทนของตัวเอง เมื่อมีการใช้สิ่งอำนวยความสะดวกการขยายประวัติการสั่งงาน การขยายประวัติศาสตร์ ตัวอักษรปกติ!ต้องถูกยกมาเพื่อป้องกันไม่ให้การขยายประวัติ มีกลไกการเสนอราคาสามข้อคือ ตัวหนี , เครื่องหมายคำพูดเดี่ยวและเครื่องหมายคำพูดคู่ เครื่องหมายทับขวาที่ไม่ได้ยกมา () คือ ตัวหนี . จะเก็บค่าตามตัวอักษรของอักขระถัดไปที่ตามด้วยข้อยกเว้น การใส่อักขระในเครื่องหมายคำพูดแบบเดี่ยวจะเก็บค่าตามตัวอักษรของอักขระแต่ละตัวไว้ในเครื่องหมายคำพูด คำพูดเดียวอาจไม่เกิดขึ้นระหว่างคำพูดเดียวแม้ว่าจะมีเครื่องหมายทับขวา อักขระที่ปิดล้อมในเครื่องหมายคำพูดแบบคู่จะเก็บค่าอักษรของอักขระทั้งหมดไว้ในเครื่องหมายคำพูดยกเว้น$, ', และ. ตัวละคร$ และ' เก็บความหมายพิเศษไว้ในเครื่องหมายคำพูดคู่ เครื่องหมายทับขวามีความหมายพิเศษเฉพาะเมื่อใช้อักขระตัวใดตัวหนึ่งต่อไปนี้:$, ', ', , หรือ พารามิเตอร์พิเศษ* และ@ มีความหมายพิเศษเมื่ออยู่ในเครื่องหมายคำพูดคู่ คำของฟอร์ม$' เชือก 'ได้รับการปฏิบัติเป็นพิเศษ คำขยายไปที่ เชือก โดยใช้อักขระที่มีการแทนที่ด้วยเครื่องหมายทับขวาแทนตามที่ระบุโดยมาตรฐาน ANSI C ลำดับแบ็กสแลชหนีบถ้ามีอยู่จะถูกถอดรหัสดังนี้: ผลลัพธ์ที่ขยายออกมาคือการยกมาครั้งเดียวเช่นเดียวกับเครื่องหมายดอลลาร์ที่ยังไม่ปรากฏ สตริงที่มีการยกสองครั้งที่นำหน้าด้วยเครื่องหมายดอลลาร์ ($) จะทำให้สตริงที่จะแปลตามสถานที่ปัจจุบัน หากสถานที่ปัจจุบันเป็นC หรือPOSIXเครื่องหมายดอลลาร์จะถูกละเลย ถ้าสตริงถูกแปลและแทนที่การเปลี่ยนจะถูกยกมาสองครั้ง พารามิเตอร์ เป็นเอนทิตีที่เก็บค่า อาจเป็นได้ ชื่อ หมายเลขหรืออักขระพิเศษใด ๆ ที่อยู่ใต้พารามิเตอร์พิเศษ. สำหรับวัตถุประสงค์ของเปลือก, a ตัวแปร เป็นพารามิเตอร์ที่แสดงโดย a ชื่อ . ตัวแปรมี a ราคา และศูนย์หรือมากกว่า แอตทริบิวต์ . แอตทริบิวต์ถูกกำหนดโดยใช้ประกาศ คำสั่ง builtin พารามิเตอร์ถูกตั้งค่าหากได้รับการกำหนดค่าแล้ว สตริงที่เป็นค่าที่ถูกต้อง เมื่อตัวแปรได้รับการตั้งค่าแล้วอาจจะยกเลิกการตั้งค่าเฉพาะโดยใช้ไม่มีการตั้งค่า คำสั่ง builtin ตัวแปร อาจถูกกำหนดให้โดยคำแถลงของแบบฟอร์ม: ชื่อ = ราคา ถ้า ราคา ไม่ได้รับตัวแปรจะได้รับการกำหนดค่าสตริง null ทั้งหมด ค่า รับการขยายตัวหนอนพารามิเตอร์และการขยายตัวแปรการแทนที่คำสั่งการขยายตัวทางคณิตศาสตร์และการลบข้อความ ถ้าตัวแปรมีจำนวนเต็ม ตั้งค่าแอตทริบิวต์แล้ว ราคา ขึ้นอยู่กับการขยายตัวทางคณิตศาสตร์แม้ว่าจะไม่ใช้การขยายตัว $ ((… )) การแยกคำไม่ใช้ยกเว้นข้อยกเว้น'$@' ตามที่อธิบายไว้ในพารามิเตอร์พิเศษ. การขยายเส้นทางไม่ได้ทำ งบการกำหนดอาจปรากฏเป็นข้อขัดแย้งกับประกาศ, เรียงพิมพ์, ส่งออก, อ่านเท่านั้น, และ ในประเทศ คำสั่ง builtin พารามิเตอร์ตำแหน่ง เป็นพารามิเตอร์ที่แสดงด้วยตัวเลขอย่างน้อยหนึ่งตัวยกเว้นตัวเลขเดี่ยว 0 พารามิเตอร์ตำแหน่งถูกกำหนดจากอาร์กิวเมนต์ของเชลล์เมื่อถูกเรียกใช้และอาจถูกกำหนดใหม่โดยใช้ชุด คำสั่ง builtin พารามิเตอร์ตำแหน่งอาจไม่ได้กำหนดให้กับข้อความกำหนดการมอบหมาย พารามิเตอร์ตำแหน่งจะถูกแทนที่ชั่วคราวเมื่อทำงานของเชลล์ เมื่อมีการขยายพารามิเตอร์ตำแหน่งซึ่งประกอบด้วยมากกว่าหนึ่งหลักจะต้องมีการใส่เครื่องหมายวงเล็บไว้ เปลือกถือว่าหลายพารามิเตอร์พิเศษ พารามิเตอร์เหล่านี้สามารถอ้างอิงได้เท่านั้น ไม่อนุญาตให้มอบหมายงานแก่พวกเขา คำนิยาม
คำสงวน
เชลล์ไวยากรณ์: คำสั่งง่ายๆ
ท่อ
รายการ
คำสั่งผสม
ความคิดเห็น
quoting
พารามิเตอร์
พารามิเตอร์ตำแหน่ง
พารามิเตอร์พิเศษ