ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

bash - ออนไลน์ในคลาวด์

เรียกใช้ bash ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่งทุบตีที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


ทุบตี - GNU Bourne-Again SHell

เรื่องย่อ


ทุบตี [ตัวเลือก] [command_string | ไฟล์]

ลิขสิทธิ์


Bash เป็นลิขสิทธิ์ (C) 1989-2013 โดย Free Software Foundation, Inc.

DESCRIPTION


ทุบตี เป็น shล่ามภาษาคำสั่งที่เข้ากันได้ซึ่งรันคำสั่งที่อ่านจาก
อินพุตมาตรฐานหรือจากไฟล์ ทุบตี ยังรวมเอาคุณสมบัติที่มีประโยชน์จาก กรณ์ และ C
เปลือกหอย (ครับ และ csh).

ทุบตี มีวัตถุประสงค์เพื่อเป็นการปฏิบัติตามข้อกำหนดของส่วนเชลล์และยูทิลิตี้ของ
ข้อกำหนด IEEE POSIX (มาตรฐาน IEEE 1003.1) ทุบตี สามารถกำหนดค่าให้เป็น POSIX-
สอดคล้องตามค่าเริ่มต้น

OPTIONS


ตัวเลือกเชลล์ที่มีอักขระตัวเดียวทั้งหมดที่บันทึกไว้ในคำอธิบายของ ชุด
คำสั่ง buildin สามารถใช้เป็นอ็อพชันเมื่อมีการเรียกใช้เชลล์ นอกจากนี้, ทุบตี
ตีความตัวเลือกต่อไปนี้เมื่อถูกเรียกใช้:

-c ถ้า -c มีตัวเลือกอยู่ จากนั้นคำสั่งจะถูกอ่านจากตัวเลือกแรกที่ไม่ใช่ตัวเลือก
อาร์กิวเมนต์ command_string. หากมีข้อโต้แย้งหลังจาก command_string, พวกเขา
ถูกกำหนดให้กับพารามิเตอร์ตำแหน่งโดยเริ่มจาก $0.
-i ถ้า -i มีตัวเลือก เชลล์คือ การโต้ตอบ.
-l ทำ ทุบตี ทำหน้าที่ราวกับว่ามันถูกเรียกใช้เป็นเชลล์การเข้าสู่ระบบ (ดู การร้องขอ ด้านล่าง)
-r ถ้า -r มีตัวเลือก เชลล์กลายเป็น หวงห้าม (ดู ถูก จำกัด SHELL
ด้านล่าง)
-s ถ้า -s มีตัวเลือกอยู่ หรือหากไม่มีอาร์กิวเมนต์เหลือหลังจากการประมวลผลตัวเลือก
จากนั้นคำสั่งจะถูกอ่านจากอินพุตมาตรฐาน ตัวเลือกนี้ช่วยให้
พารามิเตอร์ตำแหน่งที่จะตั้งค่าเมื่อเรียกใช้เชลล์แบบโต้ตอบ
-D รายการสตริงที่มีเครื่องหมายอัญประกาศคู่ทั้งหมดนำหน้าด้วย $ ถูกพิมพ์บนมาตราฐาน
เอาท์พุท เหล่านี้เป็นสตริงที่ต้องมีการแปลภาษาเมื่อ
สถานที่ปัจจุบันไม่ใช่ C or POSIX. นี่หมายความว่า -n ตัวเลือก; ไม่มีคำสั่งใดจะ
ถูกประหารชีวิต
[-+]โอ้ [shopt_option]
shopt_option เป็นหนึ่งในตัวเลือกเชลล์ที่ . ยอมรับ ช๊อปปิ้ง บิวอิน (ดู
SHELL สร้างขึ้น คำสั่ง ด้านล่าง). ถ้า shopt_option ปัจจุบัน -O ตั้งค่าของ
ตัวเลือกนั้น +O ยกเลิกการตั้งค่า ถ้า shopt_option ไม่ได้ระบุชื่อและ
ค่าของตัวเลือกเชลล์ที่ยอมรับโดย ช๊อปปิ้ง ถูกพิมพ์บนมาตราฐาน
เอาท์พุท หากตัวเลือกการเรียกใช้คือ +O, ผลลัพธ์จะแสดงในรูปแบบ
ที่อาจนำมาใช้ใหม่เป็นข้อมูลป้อนเข้า
-- A -- ส่งสัญญาณการสิ้นสุดของตัวเลือกและปิดใช้งานการประมวลผลตัวเลือกเพิ่มเติม ใด ๆ
อาร์กิวเมนต์หลังจาก -- จะถือว่าเป็นชื่อไฟล์และอาร์กิวเมนต์ ข้อโต้แย้งของ -
เทียบเท่ากับ --.

ทุบตี ยังตีความตัวเลือกหลายอักขระอีกด้วย ตัวเลือกเหล่านี้ต้องปรากฏบน
บรรทัดคำสั่งก่อนตัวเลือกอักขระเดียวที่จะรู้จัก

--ดีบักเกอร์
จัดเตรียมโปรไฟล์ดีบักเกอร์ที่จะดำเนินการก่อนที่เชลล์จะเริ่มทำงาน เปิด
โหมดการดีบักแบบขยาย (ดูคำอธิบายของ ขยายข้อบกพร่อง ตัวเลือก ช๊อปปิ้ง
ในตัวด้านล่าง)
--dump-po-สตริง
เทียบเท่ากับ -Dแต่เอาต์พุตอยู่ใน GNU gettext po (วัตถุพกพา) ไฟล์
จัดรูปแบบ
--การถ่ายโอนข้อมูลสตริง
เทียบเท่ากับ -D.
--ช่วยด้วย แสดงข้อความการใช้งานบนเอาต์พุตมาตรฐานและออกได้สำเร็จ
--init-ไฟล์ ไฟล์
--rcfile ไฟล์
ดำเนินการคำสั่งจาก ไฟล์ แทนไฟล์เริ่มต้นทั้งระบบ
/etc/bash.bashrc และไฟล์เริ่มต้นส่วนบุคคลมาตรฐาน ~ / .bashrc ถ้า
เชลล์เป็นแบบโต้ตอบ (ดู การร้องขอ ด้านล่าง)

--เข้าสู่ระบบ
เทียบเท่ากับ -l.

--ไม่มีการแก้ไข
ห้ามใช้ GNU ReadLine ไลบรารี่เพื่ออ่านบรรทัดคำสั่งเมื่อเชลล์เป็น
โต้ตอบ

--noprofile
อย่าอ่านไฟล์เริ่มต้นทั้งระบบ / etc / profile หรือของส่วนตัวใดๆ
ไฟล์เริ่มต้น ~ / .bash_profile, ~/.bash_login,หรือ ~ / .profile. โดยค่าเริ่มต้น,
ทุบตี อ่านไฟล์เหล่านี้เมื่อถูกเรียกใช้เป็นเชลล์การเข้าสู่ระบบ (ดู การร้องขอ ด้านล่าง)

--นอร์ค อย่าอ่านและรันไฟล์เริ่มต้นทั้งระบบ /etc/bash.bashrc และ
ไฟล์เริ่มต้นส่วนบุคคล ~ / .bashrc ถ้าเชลล์เป็นแบบโต้ตอบ นี้
ตัวเลือกเปิดอยู่โดยค่าเริ่มต้นหากเชลล์ถูกเรียกใช้เป็น sh.

--posix
เปลี่ยนพฤติกรรมของ ทุบตี โดยที่การดำเนินการเริ่มต้นแตกต่างจาก POSIX
มาตรฐานเพื่อให้ตรงกับมาตรฐาน (POSIX โหมด) ดู SEE นอกจากนี้ ด้านล่างสำหรับการอ้างอิงถึง
เอกสารที่มีรายละเอียดว่าโหมด posix ส่งผลต่อพฤติกรรมของ bash อย่างไร

--ถูก จำกัด
เชลล์ถูกจำกัด (ดู ถูก จำกัด SHELL ด้านล่าง)

--รายละเอียด
เทียบเท่ากับ -v.

--รุ่น
แสดงข้อมูลเวอร์ชันสำหรับอินสแตนซ์นี้ของ ทุบตี บนเอาต์พุตมาตรฐานและทางออก
ที่ประสบความสำเร็จ

อาร์กิวเมนต์


หากอาร์กิวเมนต์ยังคงอยู่หลังจากการประมวลผลตัวเลือกและทั้ง -c หรือ -s ตัวเลือกที่ได้รับ
ให้มา อาร์กิวเมนต์แรกจะถือว่าเป็นชื่อของไฟล์ที่มีshell
คำสั่ง ถ้า ทุบตี ถูกเรียกในลักษณะนี้ $0 ถูกกำหนดเป็นชื่อของไฟล์และตัว
พารามิเตอร์ตำแหน่งถูกกำหนดเป็นอาร์กิวเมนต์ที่เหลือ ทุบตี อ่านและดำเนินการ
คำสั่งจากไฟล์นี้แล้วออก ทุบตีสถานะการออกคือสถานะการออกครั้งสุดท้าย
คำสั่งดำเนินการในสคริปต์ หากไม่มีการดำเนินการคำสั่ง สถานะการออกจะเป็น 0 An
มีการพยายามเปิดไฟล์ในไดเร็กทอรีปัจจุบันก่อน และหากไม่พบไฟล์
จากนั้นเชลล์จะค้นหาไดเร็กทอรีใน เส้นทาง สำหรับสคริปต์

การร้องขอ


A เข้าสู่ระบบ เปลือก เป็นอักขระที่มีอักขระตัวแรกของอาร์กิวเมนต์ศูนย์คือ a -หรืออันที่ขึ้นต้นด้วย
--เข้าสู่ระบบ ตัวเลือก

An การโต้ตอบ เชลล์เป็นอันหนึ่งที่เริ่มต้นโดยไม่มีอาร์กิวเมนต์ที่ไม่ใช่อ็อพชันและไม่มี -c ตัวเลือก
ที่มีทั้งอินพุตและข้อผิดพลาดมาตรฐานเชื่อมต่อกับเทอร์มินัล (ตามที่กำหนดโดย
พอใจ(3)) หรืออันที่ขึ้นต้นด้วย -i ตัวเลือก PS1 ถูกตั้งค่าและ $- รวมถึง i if ทุบตี is
โต้ตอบ อนุญาตให้เชลล์สคริปต์หรือไฟล์เริ่มต้นเพื่อทดสอบสถานะนี้

ย่อหน้าต่อไปนี้อธิบายวิธีการ ทุบตี รันไฟล์เริ่มต้น หากข้อใดข้อหนึ่ง
ไฟล์มีอยู่แต่ไม่สามารถอ่านได้ ทุบตี รายงานข้อผิดพลาด ตัวหนอนถูกขยายในชื่อไฟล์
ตามที่อธิบายไว้ด้านล่างภายใต้ ตัวหนอน การขยายตัว ใน ขยาย มาตรา.

เมื่อ ทุบตี ถูกเรียกใช้เป็นเชลล์ล็อกอินแบบโต้ตอบ หรือเป็นเชลล์แบบไม่โต้ตอบกับ
--เข้าสู่ระบบ ตัวเลือก อันดับแรกจะอ่านและรันคำสั่งจากไฟล์ / etc / profileถ้าที่
แฟ้มที่มีอยู่. หลังจากอ่านไฟล์นั้นแล้วจะมองหา ~ / .bash_profile, ~/.bash_loginและ
~ / .profileตามลำดับนั้นและอ่านและดำเนินการคำสั่งจากคำสั่งแรกที่มีอยู่
และสามารถอ่านได้ NS --noprofile อาจใช้ตัวเลือกเมื่อเปลือกเริ่มยับยั้ง
พฤติกรรมนี้

เมื่อล็อกอินเชลล์ออก ทุบตี อ่านและรันคำสั่งจากไฟล์ ~/.bash_logout,
ถ้ามันมีอยู่

เมื่อเริ่มต้นเชลล์แบบโต้ตอบที่ไม่ใช่เชลล์ล็อกอิน ทุบตี อ่านและดำเนินการ
คำสั่งจาก /etc/bash.bashrc และ ~ / .bashrcหากมีไฟล์เหล่านี้อยู่ สิ่งนี้อาจถูกยับยั้ง
โดยใช้ --นอร์ค ตัวเลือก --rcfile ไฟล์ ตัวเลือกจะบังคับ ทุบตี เพื่ออ่านและดำเนินการ
คำสั่งจาก ไฟล์ แทน /etc/bash.bashrc และ ~ / .bashrc.

เมื่อ ทุบตี เริ่มทำงานแบบไม่โต้ตอบ เพื่อเรียกใช้เชลล์สคริปต์ ตัวอย่างเช่น จะมองหา
ตัวแปร BASH_ENV ในสภาพแวดล้อม ขยายมูลค่าหากปรากฏที่นั่น และใช้
ค่าที่ขยายเป็นชื่อของไฟล์ที่จะอ่านและดำเนินการ ทุบตี ทำตัวเหมือน
คำสั่งต่อไปนี้ถูกดำเนินการ:
ถ้า [ -n "$BASH_ENV" ]; แล้ว . "$BASH_ENV"; fi
แต่คุณค่าของ เส้นทาง ตัวแปรไม่ได้ถูกใช้เพื่อค้นหาชื่อไฟล์

If ทุบตี ถูกเรียกด้วยชื่อ sh,มันพยายามเลียนแบบพฤติกรรมการเริ่มต้นของประวัติศาสตร์
รุ่น sh ให้ใกล้เคียงที่สุดในขณะที่เป็นไปตามมาตรฐาน POSIX เช่นกัน
เมื่อเรียกใช้เป็นเชลล์ล็อกอินแบบโต้ตอบ หรือเชลล์ที่ไม่โต้ตอบกับ --เข้าสู่ระบบ
ตัวเลือกแรกจะพยายามอ่านและรันคำสั่งจาก / etc / profile และ ~ / .profile,
เพื่อให้. NS --noprofile อาจใช้ตัวเลือกเพื่อยับยั้งพฤติกรรมนี้ เมื่อถูกเรียก
เป็นเชลล์แบบโต้ตอบที่มีชื่อ sh, ทุบตี มองหาตัวแปร ENV, ขยายของมัน
ค่าหากมีการกำหนดไว้ และใช้ค่าที่ขยายเป็นชื่อไฟล์ในการอ่านและ
ดำเนินการ เนื่องจากเชลล์เรียกเป็น sh ไม่พยายามอ่านและรันคำสั่งจาก
ไฟล์เริ่มต้นอื่น ๆ the --rcfile ตัวเลือกไม่มีผล เชลล์แบบไม่โต้ตอบ
เรียกด้วยชื่อ sh ไม่พยายามอ่านไฟล์เริ่มต้นอื่นๆ เมื่อถูกเรียก
as sh, ทุบตี เข้าสู่ POSIX โหมดหลังจากอ่านไฟล์เริ่มต้น

เมื่อ ทุบตี เริ่มต้นใน POSIX โหมดเช่นเดียวกับ --posix ตัวเลือกบรรทัดคำสั่ง มันดังต่อไปนี้
มาตรฐาน POSIX สำหรับไฟล์เริ่มต้น ในโหมดนี้ เชลล์แบบโต้ตอบจะขยาย ENV
ตัวแปรและคำสั่งจะถูกอ่านและดำเนินการจากไฟล์ที่มีชื่อเป็น expand
ค่า. ไม่มีการอ่านไฟล์เริ่มต้นอื่นๆ

ทุบตี พยายามที่จะกำหนดเมื่อมันถูกเรียกใช้ด้วยอินพุตมาตรฐานที่เชื่อมต่อกับa
การเชื่อมต่อเครือข่าย เช่นเดียวกับเมื่อเรียกใช้งานโดย remote shell daemon โดยปกติ rhdหรือ
เชลล์ภูตที่ปลอดภัย sshd. ถ้า ทุบตี กำหนดว่ากำลังดำเนินการในลักษณะนี้ อ่าน
และรันคำสั่งจาก ~ / .bashrc และ ~ / .bashrcหากไฟล์เหล่านี้มีอยู่และสามารถอ่านได้
จะไม่ทำเช่นนี้หากเรียกใช้เป็น sh. --นอร์ค อาจใช้ตัวเลือกเพื่อยับยั้งสิ่งนี้
พฤติกรรมและ --rcfile อาจใช้ตัวเลือกเพื่อบังคับให้อ่านไฟล์อื่น แต่
ค่า rhd ไม่ sshd โดยทั่วไปเรียกใช้เชลล์ด้วยตัวเลือกเหล่านั้นหรืออนุญาตให้เป็น
ระบุไว้

หากเชลล์เริ่มต้นด้วย ID ผู้ใช้ที่มีประสิทธิภาพ (กลุ่ม) ไม่เท่ากับผู้ใช้จริง
(กลุ่ม) id และ -p ไม่ได้ระบุตัวเลือก, ไม่มีการอ่านไฟล์เริ่มต้น, ฟังก์ชั่นเชลล์
ไม่ได้รับการถ่ายทอดจากสิ่งแวดล้อม หอยเชลล์, บาชอป, CDPATHและ โกลบิกนอร์
ตัวแปร หากปรากฏในสภาพแวดล้อม จะถูกละเว้น และ ID ผู้ใช้ที่มีประสิทธิภาพคือ
ตั้งค่าเป็น ID ผู้ใช้จริง ถ้า -p มีให้ตัวเลือกในการเรียกใช้พฤติกรรมการเริ่มต้น
เหมือนกัน แต่ ID ผู้ใช้ที่ใช้งานได้จะไม่ถูกรีเซ็ต

นิยาม


คำจำกัดความต่อไปนี้จะใช้ตลอดทั้งส่วนที่เหลือของเอกสารนี้
ว่างเปล่า ช่องว่างหรือแท็บ
word ลำดับของอักขระที่เชลล์ถือเป็นหน่วยเดียว ยังเป็นที่รู้จักกันในนาม
โทเค็น.
ชื่อ A word ประกอบด้วยตัวอักษรและตัวเลขและขีดล่างเท่านั้นและจุดเริ่มต้น
ด้วยตัวอักษรหรือขีดล่าง เรียกอีกอย่างว่า an ระบุ.
เมตาคาแรคเตอร์
อักขระที่แยกคำเมื่อไม่มีเครื่องหมายคำพูด อย่างใดอย่างหนึ่งต่อไปนี้:
| & ; ( ) < > ช่องว่าง แถบ
ควบคุม ผู้ประกอบการ
A โทเค็น ที่ทำหน้าที่ควบคุม เป็นหนึ่งในสัญลักษณ์ต่อไปนี้:
|| & && ; ;; ( ) | |&

ที่สงวนไว้ คำ


ที่สงวนไว้ คำ เป็นคำที่มีความหมายพิเศษแก่เปลือก คำต่อไปนี้
ได้รับการยอมรับว่าสงวนไว้เมื่อไม่มีเครื่องหมายคำพูดและคำแรกของคำสั่งง่าย ๆ
(ดู SHELL ไวยากรณ์ ด้านล่าง) หรือคำที่สามของ a กรณี or for คำสั่ง:

! กรณี โคโพรก do ทำ elif อื่น ว่า C fi for ฟังก์ชัน if in เลือก แล้วก็ จนกระทั่ง ในขณะที่ { }
เวลา [[ ]]

SHELL ไวยากรณ์


ง่าย คำสั่ง
A ง่าย คำสั่ง เป็นลำดับของการกำหนดตัวแปรทางเลือกตามด้วย ว่างเปล่า-
แยกคำและการเปลี่ยนเส้นทาง และสิ้นสุดโดย a ควบคุม ผู้ประกอบการ. คำแรก
ระบุคำสั่งที่จะดำเนินการ และส่งผ่านเป็นศูนย์อาร์กิวเมนต์ คำที่เหลือ
ถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังคำสั่งที่เรียกใช้

ค่าส่งคืนของ a ง่าย คำสั่ง คือสถานะออกหรือ 128+n ถ้าคำสั่งคือ
สิ้นสุดโดยสัญญาณ n.

ท่อ
A ท่อ เป็นลำดับของคำสั่งตั้งแต่หนึ่งคำสั่งขึ้นไปคั่นด้วยตัวดำเนินการควบคุมตัวใดตัวหนึ่ง
| or |&. รูปแบบของไปป์ไลน์คือ:

[เวลา [-p- - คำสั่ง [[||&] คำสั่ง2 -

เอาต์พุตมาตรฐานของ คำสั่ง เชื่อมต่อผ่านท่อเข้ากับอินพุตมาตรฐานของ คำสั่ง2.
การเชื่อมต่อนี้ดำเนินการก่อนการเปลี่ยนเส้นทางใด ๆ ที่ระบุโดยคำสั่ง (ดู
เปลี่ยนเส้นทาง ด้านล่าง). ถ้า |& ถูกนำมาใช้, คำสั่งข้อผิดพลาดมาตรฐานนอกเหนือจากมาตรฐาน
เอาต์พุตเชื่อมต่อกับ คำสั่ง2อินพุตมาตรฐานผ่านท่อ; มันเป็นชวเลขสำหรับ
2> & 1 |. การเปลี่ยนเส้นทางโดยนัยของข้อผิดพลาดมาตรฐานไปยังเอาต์พุตมาตรฐานคือ
ดำเนินการหลังจากการเปลี่ยนเส้นทางใด ๆ ที่ระบุโดยคำสั่ง

สถานะการส่งคืนของไปป์ไลน์คือสถานะการออกของคำสั่งสุดท้าย เว้นแต่
ท่อล้มเหลว เปิดใช้งานตัวเลือกแล้ว ถ้า ท่อล้มเหลว ถูกเปิดใช้งาน สถานะการส่งคืนของไปป์ไลน์คือ
ค่าของคำสั่งสุดท้าย (ขวาสุด) เพื่อออกโดยมีสถานะไม่เป็นศูนย์ หรือเป็นศูนย์หากทั้งหมด
คำสั่งออกได้สำเร็จ ถ้าคำสงวน ! นำหน้าไปป์ไลน์ สถานะทางออก
ของไปป์ไลน์นั้นเป็นการปฏิเสธเชิงตรรกะของสถานะการออกตามที่อธิบายไว้ข้างต้น เปลือก
รอให้คำสั่งทั้งหมดในไปป์ไลน์สิ้นสุดก่อนที่จะส่งกลับค่า

ถ้า เวลา คำสงวนนำหน้าไปป์ไลน์ที่ผ่านไปตลอดจนเวลาของผู้ใช้และระบบ
การใช้งานโดยการดำเนินการจะถูกรายงานเมื่อไปป์ไลน์สิ้นสุดลง NS -p ตัวเลือก
เปลี่ยนรูปแบบเอาต์พุตเป็นที่ระบุโดย POSIX เมื่อเปลือกอยู่ใน POSIX โหมดมัน
ไม่รู้จัก เวลา เป็นคำสงวนถ้าโทเค็นถัดไปเริ่มต้นด้วย `-' NS
รูปแบบเวลา ตัวแปรอาจถูกตั้งค่าเป็นสตริงรูปแบบที่ระบุวิธีกำหนดเวลา
ควรแสดงข้อมูล ดูคำอธิบายของ รูปแบบเวลา ภายใต้ เปลือก ตัวแปร
ด้านล่าง

เมื่อเปลือกอยู่ใน POSIX โหมด, เวลา อาจตามด้วยขึ้นบรรทัดใหม่ ในกรณีนี้
เชลล์แสดงผู้ใช้ทั้งหมดและเวลาของระบบที่ใช้โดยเชลล์และลูกของมัน NS
รูปแบบเวลา ตัวแปรอาจใช้เพื่อระบุรูปแบบของข้อมูลเวลา

แต่ละคำสั่งในไพพ์ไลน์จะถูกดำเนินการเป็นกระบวนการที่แยกจากกัน (กล่าวคือ ในเชลล์ย่อย)

รายการ
A รายการ เป็นลำดับของไปป์ไลน์ตั้งแต่หนึ่งท่อขึ้นไปคั่นโดยหนึ่งในโอเปอเรเตอร์ ;, &, &&,
or ||และเลือกที่จะยุติโดยหนึ่งใน ;, &,หรือ .

ของตัวดำเนินการรายการเหล่านี้ && และ || มีลำดับความสำคัญเท่ากัน ตามด้วย ; และ &, ที่มี
ลำดับความสำคัญเท่ากัน

ลำดับของการขึ้นบรรทัดใหม่ตั้งแต่หนึ่งบรรทัดขึ้นไปอาจปรากฏใน a รายการ แทนที่จะใช้เครื่องหมายอัฒภาคเพื่อคั่น
คำสั่ง

หากคำสั่งถูกยกเลิกโดยตัวดำเนินการควบคุม &, เชลล์รันคำสั่งใน
พื้นหลัง ในเปลือกย่อย เชลล์ไม่รอให้คำสั่งเสร็จสิ้น และ
สถานะการส่งคืนคือ 0 คำสั่งคั่นด้วย a ; ถูกดำเนินการตามลำดับ; เปลือกรออยู่
เพื่อให้แต่ละคำสั่งสิ้นสุดลงตามลำดับ สถานะการส่งคืนคือสถานะการออกของ Last
คำสั่งดำเนินการ

รายการ AND และ OR เป็นลำดับของไพพ์ไลน์ที่แยกจากกันโดย && และ || ควบคุม
ตัวดำเนินการตามลำดับ รายการ AND และ OR ดำเนินการด้วยการเชื่อมโยงด้านซ้าย อัน AND
รายการมีรูปแบบ

คำสั่ง1 && คำสั่ง2

คำสั่ง2 จะถูกดำเนินการก็ต่อเมื่อ คำสั่ง1 ส่งคืนสถานะการออกเป็นศูนย์

รายการ OR มีรูปแบบ

คำสั่ง1 || คำสั่ง2

คำสั่ง2 จะถูกดำเนินการก็ต่อเมื่อ คำสั่ง1 ส่งคืนสถานะการออกที่ไม่ใช่ศูนย์ การกลับมา
สถานะของรายการ AND และ OR คือสถานะการออกของคำสั่งสุดท้ายที่ดำเนินการในรายการ

สารประกอบ คำสั่ง
A สารประกอบ คำสั่ง เป็นหนึ่งในสิ่งต่อไปนี้ ในกรณีส่วนใหญ่ รายการ ในคำสั่งของ
คำอธิบายอาจถูกแยกออกจากส่วนที่เหลือของคำสั่งโดยขึ้นบรรทัดใหม่อย่างน้อยหนึ่งบรรทัดและอาจจะ
ตามด้วยขึ้นบรรทัดใหม่แทนเครื่องหมายอัฒภาค

(รายการ) รายการ ถูกดำเนินการในสภาพแวดล้อมของเชลล์ย่อย (ดู คำสั่ง การดำเนินการ และพวกเรา
ด้านล่าง). การกำหนดตัวแปรและคำสั่งในตัวที่ส่งผลต่อเชลล์
สภาพแวดล้อมจะไม่มีผลหลังจากคำสั่งเสร็จสิ้น สถานะการคืนสินค้า
คือสถานะการออกของ รายการ.

{ รายการ- -
รายการ ถูกดำเนินการอย่างง่าย ๆ ในสภาพแวดล้อมของเชลล์ปัจจุบัน รายการ ต้องยุติ
ด้วยการขึ้นบรรทัดใหม่หรืออัฒภาค นี้เรียกว่า กลุ่ม คำสั่ง. สถานะการคืนสินค้า
คือสถานะการออกของ รายการ. สังเกตว่าไม่เหมือน metacharacters ( และ ), { และ }
เป็น ลิขสิทธิ์ คำ และต้องเกิดขึ้นในกรณีที่อนุญาตให้ใช้คำสงวนเป็น
ได้รับการยอมรับ เพราะไม่ทำให้เกิดการแตกคำจึงต้องแยกจาก รายการ
โดยช่องว่างหรือ metacharacter ของเชลล์อื่น

((การแสดงออก))
พื้นที่ การแสดงออก ได้รับการประเมินตามกฎที่อธิบายไว้ด้านล่างภายใต้ เลขคณิต
การประเมินผล. ถ้าค่าของนิพจน์ไม่ใช่ศูนย์ สถานะส่งคืนจะเป็น 0
มิฉะนั้นสถานะการส่งคืนคือ 1 ซึ่งเทียบเท่ากับ ให้ "การแสดงออก".

[[ การแสดงออก ]]
ส่งกลับสถานะ 0 หรือ 1 ขึ้นอยู่กับการประเมินนิพจน์เงื่อนไข
การแสดงออก. นิพจน์ประกอบด้วยไพรมารีที่อธิบายไว้ด้านล่างภายใต้
เงื่อนไข การแสดงออก. ไม่มีการแยกคำและการขยายชื่อพาธ
เกี่ยวกับคำพูดระหว่าง [[ และ ]]; การขยายตัวหนอน พารามิเตอร์ และตัวแปร
การขยาย การขยายเลขคณิต การแทนที่คำสั่ง การแทนที่กระบวนการ และ
ดำเนินการลบใบเสนอราคา ตัวดำเนินการตามเงื่อนไขเช่น -f จะต้องไม่มีการอ้างอิงถึง
ให้ถือเป็นหลัก

เมื่อใช้กับ [[ที่ < และ > ตัวดำเนินการจัดเรียงศัพท์โดยใช้กระแส
สถานที่

ดูคำอธิบายของ ทดสอบ คำสั่ง buildin (ส่วนคำสั่ง SHELL BUILTIN ด้านล่าง) สำหรับ
การจัดการพารามิเตอร์ (เช่น พารามิเตอร์ที่ขาดหายไป)

เมื่อราคาของ == และ != ใช้ตัวดำเนินการ สตริงทางด้านขวาของตัวดำเนินการ is
พิจารณารูปแบบและจับคู่ตามกฎที่อธิบายไว้ด้านล่างภายใต้ แบบแผน
แม็ทชิ่งราวกับว่า ภายนอก เปิดใช้งานตัวเลือกเชลล์ NS = ตัวดำเนินการเทียบเท่ากับ
==. หากตัวเลือกเปลือก ไม่ตรงกัน เปิดใช้งาน การแข่งขันจะดำเนินการโดยไม่คำนึงถึง
กรณีของตัวอักษร ค่าที่ส่งคืนคือ 0 หากสตริงตรงกัน (==) หรือ
ไม่ตรงกัน (!=) รูปแบบ และ 1 อย่างอื่น ส่วนใดส่วนหนึ่งของรูปแบบอาจอ้างได้
เพื่อบังคับให้ส่วนที่ยกมาจับคู่เป็นสตริง

ตัวดำเนินการไบนารีเพิ่มเติม =~, สามารถใช้ได้, มีความสำคัญเช่นเดียวกับ == และ !=.
เมื่อใช้ สตริงทางด้านขวาของตัวดำเนินการจะถือเป็นค่าปกติที่ขยายเพิ่มเติม
นิพจน์และจับคู่ตามนั้น (เช่นใน นิพจน์ทั่วไป(3)). ค่าที่ส่งกลับเป็น 0 ถ้า string
ตรงกับรูปแบบ และอีก 1 รายการ ถ้านิพจน์ทั่วไปเป็นวากยสัมพันธ์
ไม่ถูกต้อง ค่าส่งคืนของนิพจน์เงื่อนไขคือ 2 ถ้าเชลล์ option
ไม่ตรงกัน เปิดใช้งาน การจับคู่จะดำเนินการโดยไม่คำนึงถึงตัวพิมพ์ของตัวอักษร
ตัวอักษร ส่วนใดส่วนหนึ่งของรูปแบบอาจถูกยกมาเพื่อบังคับให้ส่วนที่ยกมาเป็น
จับคู่เป็นสตริง นิพจน์วงเล็บในนิพจน์ทั่วไปต้องได้รับการปฏิบัติ
อย่างระมัดระวัง เนื่องจากอักขระอ้างอิงปกติสูญเสียความหมายระหว่างวงเล็บ ถ้า
รูปแบบถูกเก็บไว้ในตัวแปรเชลล์โดยอ้างถึงการขยายตัวแปรบังคับให้ทั้ง
รูปแบบที่จะจับคู่เป็นสตริง สตริงย่อยที่จับคู่โดยนิพจน์ย่อยในวงเล็บ
ภายในนิพจน์ทั่วไปจะถูกบันทึกไว้ในตัวแปรอาร์เรย์ ทุบตี_REMATCH. องค์ประกอบ
of ทุบตี_REMATCH โดยดัชนี 0 คือส่วนของสตริงที่ตรงกับค่าปกติทั้งหมด
การแสดงออก. องค์ประกอบของ ทุบตี_REMATCH ด้วยดัชนี n คือส่วนของสตริง
ตรงกับ nนิพจน์ย่อยในวงเล็บ

นิพจน์อาจรวมกันโดยใช้ตัวดำเนินการต่อไปนี้ ซึ่งแสดงอยู่ในลำดับที่ลดลงของ
ลำดับความสำคัญ:

( การแสดงออก )
ส่งกลับค่าของ การแสดงออก. สามารถใช้แทนค่าปกติได้
ลำดับความสำคัญของตัวดำเนินการ
! การแสดงออก
จริงถ้า การแสดงออก เป็นเท็จ
การแสดงออก1 && การแสดงออก2
จริงถ้าทั้งคู่ การแสดงออก1 และ การแสดงออก2 เป็นเรื่องจริง
การแสดงออก1 || การแสดงออก2
จริงถ้าอย่างใดอย่างหนึ่ง การแสดงออก1 or การแสดงออก2 เป็นความจริง.

พื้นที่ && และ || ผู้ประกอบการไม่ประเมิน การแสดงออก2 ถ้าค่าของ การแสดงออก1 is
เพียงพอที่จะกำหนดค่าส่งคืนของนิพจน์เงื่อนไขทั้งหมด

for ชื่อ [[ in [ word ... - - do รายการ ; ทำ
รายชื่อคำต่อไปนี้ in ถูกขยายสร้างรายการของรายการ NS
ตัวแปร ชื่อ ถูกกำหนดให้แต่ละองค์ประกอบของรายการนี้ในทางกลับกัน และ รายการ ถูกประหารชีวิต
แต่ละครั้ง. ถ้า in word ถูกละไว้ for คำสั่งดำเนินการ รายการ คนละครั้ง
พารามิเตอร์ตำแหน่งที่ตั้งค่าไว้ (ดู พารามิเตอร์ ด้านล่าง). สถานะการส่งคืนคือ
สถานะการออกของคำสั่งสุดท้ายที่ดำเนินการ หากการขยายของรายการ
ดังต่อไปนี้ in ส่งผลให้รายการว่างไม่มีคำสั่งใดดำเนินการและการส่งคืน
สถานะเป็น 0

for (( หมดอายุ1 ; หมดอายุ2 ; หมดอายุ3 - do รายการ ; ทำ
ขั้นแรก นิพจน์เลขคณิต หมดอายุ1 จะได้รับการประเมินตามกฎ
อธิบายไว้ด้านล่างภายใต้ เลขคณิต การประเมินผล. นิพจน์เลขคณิต หมดอายุ2 is
แล้วประเมินซ้ำๆ จนกว่าจะประเมินเป็นศูนย์ แต่ละครั้ง หมดอายุ2 ประเมินถึง
ค่าที่ไม่เป็นศูนย์ รายการ ถูกดำเนินการและนิพจน์เลขคณิต หมดอายุ3 is
ประเมิน หากละเว้นนิพจน์ใดๆ นิพจน์ใดๆ จะทำงานเสมือนว่าประเมินเป็น 1 The
ค่าที่ส่งคืนคือสถานะการออกของคำสั่งสุดท้ายใน รายการ ที่ถูกประหารชีวิต หรือ
false หากนิพจน์ใดไม่ถูกต้อง

เลือก ชื่อ [ in word ]; do รายการ ; ทำ
รายชื่อคำต่อไปนี้ in ถูกขยายสร้างรายการของรายการ ชุดของ
คำที่ขยายออกจะพิมพ์อยู่บนข้อผิดพลาดมาตรฐาน โดยแต่ละคำนำหน้าด้วยตัวเลข ถ้า
in word ละเว้น พารามิเตอร์ตำแหน่งจะถูกพิมพ์ (ดู พารามิเตอร์ ด้านล่าง)
พื้นที่ PS3 พรอมต์จะปรากฏขึ้นและบรรทัดที่อ่านจากอินพุตมาตรฐาน ถ้า
บรรทัดประกอบด้วยตัวเลขที่สอดคล้องกับคำที่แสดงคำใดคำหนึ่ง จากนั้น
ค่าของ ชื่อ ถูกกำหนดเป็นคำนั้น หากบรรทัดว่าง คำและพรอมต์คือ
ปรากฏขึ้นอีกครั้ง หากอ่าน EOF คำสั่งจะเสร็จสมบูรณ์ อ่านค่าอื่นใด
สาเหตุที่ ชื่อ เพื่อกำหนดให้เป็นโมฆะ การอ่านบรรทัดถูกบันทึกไว้ในตัวแปร ตอบ.
รายการ ถูกดำเนินการหลังจากแต่ละการเลือกจนกระทั่ง a ทำลาย คำสั่งถูกดำเนินการ ทางออก
สถานะของ เลือก คือสถานะการออกของคำสั่งสุดท้ายที่ดำเนินการใน รายการ, หรือศูนย์
หากไม่มีการดำเนินการคำสั่ง

กรณี word in - Belt hold [ | Belt hold - รายการ - - ว่า C
A กรณี คำสั่งก่อนขยาย wordและพยายามที่จะจับคู่กับแต่ละคน Belt hold in
เปิดโดยใช้กฎการจับคู่เดียวกันกับการขยายชื่อเส้นทาง (ดู ชื่อพาธ
การขยายตัว ด้านล่าง). NS word ถูกขยายโดยใช้การขยายตัวหนอน พารามิเตอร์ และ
การขยายตัวแปร, การแทนที่เลขคณิต, การแทนที่คำสั่ง, กระบวนการ
การแทนที่และการลบใบเสนอราคา แต่ละ Belt hold ตรวจสอบขยายโดยใช้ตัวหนอน
การขยาย พารามิเตอร์และการขยายตัวแปร การแทนที่เลขคณิต คำสั่ง
การทดแทนและการทดแทนกระบวนการ หากตัวเลือกเปลือก ไม่ตรงกัน is
เปิดใช้งาน การจับคู่จะดำเนินการโดยไม่คำนึงถึงตัวพิมพ์ของตัวอักษร
ตัวอักษร เมื่อพบการจับคู่ที่สอดคล้องกัน รายการ ถูกดำเนินการ ถ้า ;;
ใช้ตัวดำเนินการ ไม่มีการพยายามจับคู่ที่ตามมาหลังจากรูปแบบแรก
จับคู่. โดยใช้ ;& แทนที่ ;; ทำให้การประหารชีวิตดำเนินต่อไปด้วย รายการ
เกี่ยวข้องกับรูปแบบชุดต่อไป โดยใช้ ;;& แทนที่ ;; ทำให้
เชลล์เพื่อทดสอบรายการรูปแบบถัดไปในคำสั่ง ถ้ามี และดำเนินการใดๆ
ที่เกี่ยวข้อง รายการ ในการแข่งขันที่ประสบความสำเร็จ สถานะการออกจะเป็นศูนย์หากไม่มีรูปแบบ
การแข่งขัน มิฉะนั้น จะเป็นสถานะการออกของคำสั่งสุดท้ายที่ดำเนินการใน รายการ.

if รายการ; แล้วก็ รายการ- - elif รายการ; แล้วก็ รายการ- - อื่น รายการ- - fi
พื้นที่ if รายการ ถูกดำเนินการ หากสถานะการออกเป็นศูนย์ ค่า แล้วก็ รายการ ถูกดำเนินการ
มิฉะนั้นแต่ละ elif รายการ ถูกดำเนินการในทางกลับกัน และหากสถานะการออกเป็นศูนย์
ตรงกัน แล้วก็ รายการ ถูกดำเนินการและคำสั่งเสร็จสมบูรณ์ มิฉะนั้น อื่น
รายการ จะถูกดำเนินการถ้ามี สถานะการออกคือสถานะการออกของ Last
ดำเนินการคำสั่งหรือศูนย์หากไม่มีเงื่อนไขทดสอบจริง

ในขณะที่ รายการ-1; do รายการ-2; ทำ
จนกระทั่ง รายการ-1; do รายการ-2; ทำ
พื้นที่ ในขณะที่ คำสั่งดำเนินการรายการอย่างต่อเนื่อง รายการ-2 ตราบเท่าคำสั่งสุดท้าย
ในรายการ รายการ-1 ส่งคืนสถานะการออกเป็นศูนย์ NS จนกระทั่ง คำสั่งเหมือนกัน
ไป ในขณะที่ คำสั่ง ยกเว้นว่าการทดสอบถูกปฏิเสธ รายการ-2 ถูกประหารชีวิตนานเท่านาน
เป็นคำสั่งสุดท้ายใน รายการ-1 ส่งคืนสถานะการออกที่ไม่ใช่ศูนย์ สถานะการออกของ
ในขณะที่ และ จนกระทั่ง คำสั่งคือสถานะการออกของคำสั่งสุดท้ายที่ดำเนินการใน
รายการ-2หรือศูนย์หากไม่มีการดำเนินการ

กระบวนการร่วม
A กระบวนการร่วม เป็นคำสั่งเชลล์นำหน้าด้วย โคโพรก คำสงวน กระบวนการร่วมคือ
ดำเนินการแบบอะซิงโครนัสใน subshell ราวกับว่าคำสั่งถูกยกเลิกด้วย &
ตัวดำเนินการควบคุมด้วยท่อสองทางที่สร้างขึ้นระหว่างเชลล์ที่ดำเนินการกับ
กระบวนการร่วม

รูปแบบสำหรับโปรเซสร่วมคือ:

โคโพรก [ชื่อ] คำสั่ง [การเปลี่ยนเส้นทาง]

สิ่งนี้จะสร้างโปรเซสร่วมที่ชื่อว่า ชื่อ. ถ้า ชื่อ ไม่ได้ระบุชื่อเริ่มต้นคือ คอปรอค.
ชื่อ จะต้องไม่ถูกจัดให้ถ้า คำสั่ง คือ ง่าย คำสั่ง (ดูด้านบน); มิฉะนั้นก็คือ
ตีความว่าเป็นคำแรกของคำสั่งง่ายๆ เมื่อประมวลผลร่วมถูกดำเนินการ
เชลล์สร้างตัวแปรอาร์เรย์ (ดู อาร์เรย์ ด้านล่าง) ชื่อ ชื่อ ในบริบทของ
กำลังดำเนินการเชลล์ เอาต์พุตมาตรฐานของ คำสั่ง เชื่อมต่อผ่านไพพ์ไปยังไฟล์
descriptor ในเชลล์การดำเนินการ และ file descriptor นั้นถูกกำหนดให้กับ ชื่อ[0]. NS
อินพุตมาตรฐานของ คำสั่ง เชื่อมต่อผ่านไพพ์ไปยัง file descriptor ในการดำเนินการ
เชลล์และไฟล์ descriptor นั้นถูกกำหนดให้เป็น ชื่อ[1]. ท่อนี้ถูกสร้างขึ้นมาก่อน
การเปลี่ยนเส้นทางใด ๆ ที่ระบุโดยคำสั่ง (ดู เปลี่ยนเส้นทาง ด้านล่าง). ตัวอธิบายไฟล์
สามารถใช้เป็นอาร์กิวเมนต์ของคำสั่งเชลล์และการเปลี่ยนเส้นทางโดยใช้คำมาตรฐาน
การขยาย ตัวอธิบายไฟล์ไม่พร้อมใช้งานในเชลล์ย่อย รหัสกระบวนการของ
เชลล์ที่วางไข่เพื่อรันโปรเซสร่วมสามารถใช้ได้เป็นค่าของตัวแปร ชื่อ_พีไอดี
พื้นที่ รอ คำสั่ง buildin อาจใช้เพื่อรอให้โปรเซสร่วมยุติการทำงาน

เนื่องจากโปรเซสร่วมถูกสร้างขึ้นเป็นคำสั่งแบบอะซิงโครนัส โคโพรก คำสั่งเสมอ
กลับประสบความสำเร็จ สถานะการส่งคืนของโปรเซสร่วมคือสถานะการออกของ คำสั่ง.

เปลือก ฟังก์ชัน คำจำกัดความ
ฟังก์ชันเชลล์เป็นอ็อบเจ็กต์ที่ถูกเรียกเหมือนกับคำสั่งง่ายๆ และรันคำสั่งผสม
คำสั่งด้วยพารามิเตอร์ตำแหน่งชุดใหม่ ฟังก์ชันของเชลล์มีการประกาศดังนี้:

ชื่อ () คำสั่งผสม [การเปลี่ยนเส้นทาง]
ฟังก์ชัน ชื่อ - คำสั่งผสม [การเปลี่ยนเส้นทาง]
สิ่งนี้กำหนดฟังก์ชั่นชื่อ ชื่อ. คำสงวน ฟังก์ชัน เป็นทางเลือก ถ้า
ฟังก์ชัน มีการระบุคำสงวน วงเล็บจะใส่หรือไม่ก็ได้ NS ร่างกาย of
ฟังก์ชันคือคำสั่งผสม คำสั่งผสม (ดู สารประกอบ คำสั่ง
ข้างต้น). คำสั่งนั้นมักจะเป็น รายการ ของคำสั่งระหว่าง { และ } แต่อาจเป็น any
คำสั่งภายใต้ สารประกอบ คำสั่ง ข้างบน. คำสั่งผสม ถูกประหารชีวิต
เมื่อไรก็ตาม ชื่อ ถูกระบุเป็นชื่อของคำสั่งอย่างง่าย เมื่ออยู่ใน POSIX โหมด,
ชื่อ อาจไม่ใช่ชื่อหนึ่งของ POSIX พิเศษ บิวอิน. การเปลี่ยนเส้นทางใด ๆ
(ดู เปลี่ยนเส้นทาง ด้านล่าง) ที่ระบุเมื่อมีการกำหนดฟังก์ชันจะถูกดำเนินการเมื่อ
ฟังก์ชั่นถูกดำเนินการ สถานะการออกของคำนิยามฟังก์ชันเป็นศูนย์ เว้นแต่ a
เกิดข้อผิดพลาดทางไวยากรณ์หรือมีฟังก์ชันแบบอ่านอย่างเดียวที่มีชื่อเดียวกันอยู่แล้ว เมื่อไหร่
ดำเนินการ สถานะการออกของฟังก์ชันคือสถานะการออกของคำสั่งสุดท้าย
ถูกประหารชีวิตในร่างกาย (ดู ฟังก์ชั่น ด้านล่าง)

ความคิดเห็น


ในเชลล์ที่ไม่ใช่แบบโต้ตอบ หรือเชลล์แบบโต้ตอบซึ่ง Interactive_comments
ตัวเลือก ช๊อปปิ้ง บิวด์อินถูกเปิดใช้งาน (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง) คำ
เริ่มต้นด้วย # ทำให้คำนั้นและอักขระที่เหลือทั้งหมดในบรรทัดนั้นถูกละเว้น
เชลล์แบบโต้ตอบที่ไม่มี Interactive_comments ไม่อนุญาตให้เปิดใช้งานตัวเลือก
ความคิดเห็น NS Interactive_comments ตัวเลือกเปิดอยู่โดยค่าเริ่มต้นในเชลล์แบบโต้ตอบ

ใบเสนอราคา


quoting ใช้เพื่อลบความหมายพิเศษของอักขระหรือคำบางคำออกจากเชลล์
การอ้างอิงสามารถใช้เพื่อปิดใช้งานการดูแลพิเศษสำหรับอักขระพิเศษเพื่อป้องกัน
คำสงวนไม่ให้เป็นที่รู้จักเช่นนี้ และเพื่อป้องกันการขยายพารามิเตอร์

แต่ละรายการ อักขระเมตา ระบุไว้ข้างต้นภายใต้ นิยาม มีความหมายพิเศษต่อเปลือก
และต้องยกมาเพื่อแสดงถึงตัวมันเอง

เมื่อมีการใช้สิ่งอำนวยความสะดวกการขยายประวัติคำสั่ง (ดู ประวัติ ขยาย
ใต้ ประวัติ การขยายตัว ตัวละครมักจะ !, ต้องยกมาเพื่อป้องกันประวัติ
การขยายตัว

มีกลไกการเสนอราคาอยู่สามแบบ: หลบหนี ตัวอักษร, อัญประกาศเดี่ยว และ ดับเบิ้ล
คำพูด

แบ็กสแลชที่ไม่ได้ยกมา (\) คือ หลบหนี ตัวอักษร. รักษามูลค่าตามตัวอักษรของ
อักษรตัวถัดไปที่ตามมา ยกเว้น . ถ้า \คู่
ปรากฏขึ้นและไม่ได้ยกเครื่องหมายแบ็กสแลชเอง \ถือว่าเป็นไลน์
ความต่อเนื่อง (นั่นคือ จะถูกลบออกจากกระแสอินพุตและละเว้นอย่างมีประสิทธิภาพ)

อักขระที่ล้อมรอบในเครื่องหมายคำพูดเดียวจะรักษามูลค่าตามตัวอักษรของอักขระแต่ละตัวภายใน
คำพูด อัญประกาศเดี่ยวอาจไม่เกิดขึ้นระหว่างอัญประกาศเดี่ยว แม้ว่าจะนำหน้าด้วย a
แบ็กสแลช

อักขระที่ล้อมรอบในเครื่องหมายคำพูดคู่จะรักษาค่าตัวอักษรของอักขระทั้งหมดภายใน
คำพูดยกเว้น $, `, \และเมื่อเปิดใช้งานการขยายประวัติ !.
อักขระ $ และ ` รักษาความหมายพิเศษไว้ภายในเครื่องหมายคำพูดคู่ แบ็กสแลช
คงไว้ซึ่งความหมายพิเศษเฉพาะเมื่อตามด้วยอักขระตัวใดตัวหนึ่งต่อไปนี้: $, `,
", \,หรือ . เครื่องหมายคำพูดคู่อาจอยู่ในเครื่องหมายคำพูดคู่โดยนำหน้ามัน
ด้วยแบ็กสแลช หากเปิดใช้งาน การขยายประวัติจะดำเนินการเว้นแต่ an ! ปรากฏ
ในเครื่องหมายคำพูดคู่จะหนีโดยใช้แบ็กสแลช แบ็กสแลชก่อน ! ไม่ใช่
ลบออก

พารามิเตอร์พิเศษ * และ @ มีความหมายพิเศษเมื่ออยู่ในเครื่องหมายคำพูดคู่ (ดู พารามิเตอร์
ด้านล่าง)

คำพูดของแบบฟอร์ม $'เชือก' ได้รับการดูแลเป็นพิเศษ คำขยายเป็น เชือกมี
อักขระที่ใช้ Escape แบ็กสแลชถูกแทนที่ตามที่ระบุโดยมาตรฐาน ANSI C แบ็กสแลช
ลำดับการหลบหนี หากมี จะถูกถอดรหัสดังนี้:
\a การแจ้งเตือน (กระดิ่ง)
\b Backspace
\e
\E ตัวละครหนี
\f ฟีดรูปแบบ
\n บรรทัดใหม่
\r คืนรถ
\t แท็บแนวนอน
\v แท็บแนวตั้ง
\\ แบ็กสแลช
\' คำพูดเดียว
\" คำพูดคู่
\มมมม อักขระแปดบิตที่มีค่าเป็นค่าฐานแปด มมมม (หนึ่งถึงสาม
ตัวเลข)
\xHH อักขระแปดบิตที่มีค่าเป็นค่าเลขฐานสิบหก HH (หนึ่งหรือสอง
เลขฐานสิบหก)
\u อักขระ Unicode (ISO/IEC 10646) ที่มีค่าเป็นค่าเลขฐานสิบหก
(เลขฐานสิบหกหนึ่งถึงสี่หลัก)
\Uฮือออออ
อักขระ Unicode (ISO/IEC 10646) ที่มีค่าเป็นค่าเลขฐานสิบหก
ฮือออออ (เลขฐานสิบหกหนึ่งถึงแปด)
\cx การควบคุม-x ตัวอักษร

ผลลัพธ์ที่ขยายออกมาเป็นราคาเดียว ราวกับว่าไม่มีเครื่องหมายดอลลาร์

สตริงที่มีเครื่องหมายอัญประกาศคู่นำหน้าด้วยเครื่องหมายดอลลาร์ ($"เชือก") จะทำให้สตริงเป็น
แปลตามสถานที่ปัจจุบัน หากสถานที่ปัจจุบันคือ C or POSIXที่
เครื่องหมายดอลลาร์จะถูกละเว้น หากสตริงถูกแปลและแทนที่ การแทนที่คือ
อ้างสองครั้ง

พารามิเตอร์


A พารามิเตอร์ เป็นเอนทิตีที่เก็บค่า มันสามารถเป็น ชื่อ, ตัวเลข, หรือตัวใดตัวหนึ่งของ
อักขระพิเศษด้านล่างภายใต้ พิเศษ พารามิเตอร์. ตัวแปร เป็นพารามิเตอร์
แสดงโดย ชื่อ. ตัวแปรมี a ความคุ้มค่า และศูนย์หรือมากกว่า แอตทริบิวต์. คุณสมบัติคือ
มอบหมายโดยใช้ ประกาศ คำสั่งในตัว (ดู ประกาศ ด้านล่างใน SHELL สร้างขึ้น คำสั่ง).

พารามิเตอร์ถูกตั้งค่าหากได้รับการกำหนดค่า สตริงว่างเป็นค่าที่ถูกต้อง
เมื่อตั้งค่าตัวแปรแล้ว อาจยกเลิกการตั้งค่าได้โดยใช้เครื่องหมาย . เท่านั้น ยกเลิกการตั้งค่า คำสั่งในตัว (ดู SHELL
สร้างขึ้น คำสั่ง ด้านล่าง)

A ตัวแปร อาจถูกกำหนดโดยคำสั่งของแบบฟอร์ม

ชื่อ=[ความคุ้มค่า]

If ความคุ้มค่า ไม่ได้รับ ตัวแปรถูกกำหนดให้เป็นสตริงว่าง ทั้งหมด ค่า รับตัวหนอน
การขยาย, การขยายพารามิเตอร์และตัวแปร, การแทนที่คำสั่ง, การขยายเลขคณิต,
และการลบใบเสนอราคา (ดู ขยาย ด้านล่าง). หากตัวแปรมีของมัน จำนวนเต็ม ชุดแอตทริบิวต์
แล้วก็ ความคุ้มค่า ถูกประเมินเป็นนิพจน์เลขคณิตแม้ว่าการขยาย $((...)) จะไม่ใช่
ใช้แล้ว (ดู คณิตศาสตร์ การขยายตัว ด้านล่าง). ไม่มีการแยกคำด้วย
ยกเว้น "$@" ตามที่อธิบายไว้ด้านล่างภายใต้ พิเศษ พารามิเตอร์. การขยายชื่อเส้นทางไม่ใช่
ดำเนินการ คำสั่งมอบหมายอาจปรากฏเป็นข้อโต้แย้งของ นามแฝง, ประกาศ,
เรียงพิมพ์, ส่งออก, อ่านเท่านั้นและ ในประเทศ คำสั่งในตัว เมื่ออยู่ใน POSIX โหมด, สิ่งก่อสร้างเหล่านี้
อาจปรากฏในคำสั่งหลังจากหนึ่งหรือหลายกรณีของ คำสั่ง สร้างขึ้นและเก็บรักษา
คุณสมบัติคำสั่งมอบหมายเหล่านี้

ในบริบทที่คำสั่งการมอบหมายกำหนดค่าให้กับตัวแปรเชลล์หรือ
ดัชนีอาร์เรย์ ตัวดำเนินการ += สามารถใช้เพื่อต่อท้ายหรือเพิ่มลงในตัวแปร Previous . ได้
ค่า. เมื่อ += ถูกนำไปใช้กับตัวแปรที่ จำนวนเต็ม ตั้งค่าแอตทริบิวต์แล้ว
ความคุ้มค่า ถูกประเมินเป็นนิพจน์เลขคณิตและเพิ่มค่าปัจจุบันของตัวแปร
ซึ่งได้รับการประเมินด้วย เมื่อ += ถูกนำไปใช้กับตัวแปรอาร์เรย์โดยใช้สารประกอบ
การมอบหมาย (ดู อาร์เรย์ ด้านล่าง) ค่าของตัวแปรจะไม่ถูกตั้งค่า (เหมือนเมื่อใช้ =)
และค่าใหม่จะถูกผนวกเข้ากับอาร์เรย์โดยเริ่มจากค่าที่มากกว่าค่าสูงสุดของอาร์เรย์
ดัชนี (สำหรับอาร์เรย์ที่จัดทำดัชนี) หรือเพิ่มเป็นคู่คีย์-ค่าเพิ่มเติมในอาร์เรย์ที่เชื่อมโยง
เมื่อนำไปใช้กับตัวแปรค่าสตริง ความคุ้มค่า ถูกขยายและต่อท้ายตัวแปรของ
มูลค่า

ตัวแปรสามารถกำหนดให้ ชื่อref คุณลักษณะโดยใช้ -n ตัวเลือก ประกาศ or
ในประเทศ คำสั่งในตัว (ดูคำอธิบายของ ประกาศ และ ในประเทศ ด้านล่าง) เพื่อสร้าง a
ชื่อrefหรือการอ้างอิงถึงตัวแปรอื่น ซึ่งช่วยให้สามารถจัดการตัวแปรได้
ทางอ้อม เมื่อใดก็ตามที่มีการอ้างอิงหรือกำหนดตัวแปร nameref การดำเนินการจะเป็น
ดำเนินการจริงกับตัวแปรที่ระบุโดยค่าของตัวแปร nameref ชื่อref
มักใช้ภายในฟังก์ชันเชลล์เพื่ออ้างถึงตัวแปรที่มีชื่อผ่านเป็น an
อาร์กิวเมนต์ของฟังก์ชัน ตัวอย่างเช่น หากชื่อตัวแปรถูกส่งไปยังฟังก์ชันเชลล์
เป็นอาร์กิวเมนต์แรก วิ่ง
ประกาศ -n ref=$1
ภายในฟังก์ชันจะสร้างตัวแปร nameref อ้าง ที่มีค่าเป็นชื่อตัวแปรที่ส่งผ่าน
เป็นอาร์กิวเมนต์แรก การอ้างอิงและการมอบหมายให้ อ้าง ถือเป็นข้อมูลอ้างอิงและ
การกำหนดให้กับตัวแปรที่มีชื่อถูกส่งผ่านเป็น $1. ถ้าตัวแปรควบคุมใน a for
loop มีแอตทริบิวต์ nameref รายการคำสามารถเป็นรายการของตัวแปรเชลล์และ a
การอ้างอิงชื่อจะถูกสร้างขึ้นสำหรับแต่ละคำในรายการ ในทางกลับกัน เมื่อวนเป็น
ดำเนินการ ไม่สามารถกำหนดตัวแปรอาร์เรย์ได้ -n คุณลักษณะ. อย่างไรก็ตาม ตัวแปร nameref
สามารถอ้างอิงตัวแปรอาร์เรย์และตัวแปรอาร์เรย์ที่ห้อยลงมาได้ Namerefs สามารถยกเลิกการตั้งค่าได้
โดยใช้โปรแกรม -n ตัวเลือก ยกเลิกการตั้งค่า สร้างขึ้น มิฉะนั้น ถ้า ยกเลิกการตั้งค่า ถูกประหารชีวิตด้วยชื่อ
ของตัวแปร nameref เป็นอาร์กิวเมนต์ ตัวแปรที่อ้างอิงโดยตัวแปร nameref will
ไม่ถูกตั้งค่า

ตำแหน่ง พารามิเตอร์
A ตำแหน่ง พารามิเตอร์ เป็นพารามิเตอร์ที่แสดงด้วยตัวเลขตั้งแต่หนึ่งหลักขึ้นไป นอกเหนือจากตัวเดียว
ตัวเลข 0 พารามิเตอร์ตำแหน่งถูกกำหนดจากอาร์กิวเมนต์ของเชลล์เมื่อเป็น
เรียกใช้และอาจกำหนดใหม่ได้โดยใช้ ชุด คำสั่งในตัว พารามิเตอร์ตำแหน่งอาจ
ไม่ได้รับมอบหมายให้พร้อมกับคำสั่งการมอบหมาย พารามิเตอร์ตำแหน่งเป็นการชั่วคราว
แทนที่เมื่อเรียกใช้ฟังก์ชันเชลล์ (ดู ฟังก์ชั่น ด้านล่าง)

เมื่อมีการขยายพารามิเตอร์ตำแหน่งที่ประกอบด้วยตัวเลขมากกว่าหนึ่งหลัก จะต้องเป็น
อยู่ในวงเล็บ (ดู ขยาย ด้านล่าง)

พิเศษ พารามิเตอร์
เชลล์ดำเนินการกับพารามิเตอร์หลายอย่างเป็นพิเศษ พารามิเตอร์เหล่านี้สามารถอ้างอิงได้เท่านั้น
ไม่อนุญาตให้มอบหมายงานให้กับพวกเขา
* ขยายเป็นพารามิเตอร์ตำแหน่งโดยเริ่มจากหนึ่ง เมื่อการขยายตัวไม่ได้
ภายในเครื่องหมายคำพูดคู่ พารามิเตอร์ตำแหน่งแต่ละตัวจะขยายเป็นคำที่แยกจากกัน ใน
บริบทที่ดำเนินการ คำเหล่านั้นอาจมีการแยกคำเพิ่มเติม
และการขยายชื่อพาธ เมื่อการขยายเกิดขึ้นภายในเครื่องหมายคำพูดคู่ มันจะขยาย
เป็นคำเดียวโดยมีค่าของแต่ละพารามิเตอร์คั่นด้วยอักขระตัวแรก
ของ ไอเอฟเอ ตัวแปรพิเศษ นั่นคือ, "$*" เท่ากับ "$1c$2c..."ที่ไหน c
เป็นอักขระตัวแรกของค่าของ ไอเอฟเอ ตัวแปร. ถ้า ไอเอฟเอ ไม่ได้ตั้งค่า, the
พารามิเตอร์ถูกคั่นด้วยช่องว่าง ถ้า ไอเอฟเอ เป็นโมฆะ พารามิเตอร์ถูกเชื่อมเข้าด้วยกัน
โดยไม่มีเครื่องกั้นขวาง
@ ขยายเป็นพารามิเตอร์ตำแหน่งโดยเริ่มจากหนึ่ง เมื่อการขยายตัวเกิดขึ้น
ภายในเครื่องหมายคำพูดคู่ แต่ละพารามิเตอร์จะขยายเป็นคำที่แยกจากกัน นั่นคือ, "$@" เป็น
เทียบเท่ากับ "$1""$2" ... หากการขยายแบบ double-quoted เกิดขึ้นภายในคำ
การขยายตัวของพารามิเตอร์แรกรวมกับส่วนต้นของ
คำเดิมและขยายพารามิเตอร์สุดท้ายรวมกับส่วนสุดท้าย
ของคำเดิม เมื่อไม่มีพารามิเตอร์ตำแหน่ง "$@"และ $@ ขยายตัว
ไม่มีอะไร (กล่าวคือ พวกเขาจะถูกลบออก)
# ขยายเป็นจำนวนพารามิเตอร์ตำแหน่งเป็นทศนิยม
? ขยายเป็นสถานะออกของไปป์ไลน์ที่ดำเนินการล่าสุด
- ขยายเป็นแฟล็กตัวเลือกปัจจุบันตามที่ระบุเมื่อเรียกใช้โดย ชุด
คำสั่ง builtin หรือคำสั่งที่กำหนดโดยเชลล์เอง (เช่น -i ตัวเลือก)
$ ขยายเป็น ID โปรเซสของเชลล์ ในเชลล์ย่อย () จะขยายเป็น
ID กระบวนการของเชลล์ปัจจุบัน ไม่ใช่เชลล์ย่อย
! ขยายเป็น ID กระบวนการของงานที่วางไว้ล่าสุดในพื้นหลัง
ไม่ว่าจะรันเป็นคำสั่งแบบอะซิงโครนัสหรือใช้คำสั่ง bg บิวอิน (ดู JOB
ควบคุม ด้านล่าง)
0 ขยายเป็นชื่อของเชลล์หรือเชลล์สคริปต์ นี้ถูกกำหนดไว้ที่เชลล์
การเริ่มต้น. ถ้า ทุบตี ถูกเรียกใช้ด้วยไฟล์คำสั่ง $0 ถูกตั้งเป็นชื่อ
ของไฟล์นั้นๆ ถ้า ทุบตี เริ่มต้นด้วย -c ตัวเลือกแล้ว $0 ถูกตั้งค่าเป็นอันดับแรก
อาร์กิวเมนต์หลังจากสตริงที่จะดำเนินการ ถ้ามีอยู่ มิฉะนั้นจะถูกตั้งค่า
ไปยังชื่อไฟล์ที่ใช้เรียก ทุบตีตามที่กำหนดโดยอาร์กิวเมนต์ศูนย์
_ เมื่อเริ่มต้นเชลล์ ให้ตั้งค่าเป็นชื่อพาธสัมบูรณ์ที่ใช้เรียกเชลล์หรือเชลล์
สคริปต์ถูกดำเนินการตามที่ส่งผ่านในสภาพแวดล้อมหรือรายการอาร์กิวเมนต์ ต่อมา
ขยายไปยังอาร์กิวเมนต์สุดท้ายของคำสั่งก่อนหน้า หลังจากขยาย ตั้งเป็น .ด้วย
ชื่อพาธแบบเต็มที่ใช้เรียกแต่ละคำสั่งที่ดำเนินการและวางไว้ใน
สภาพแวดล้อมที่ส่งออกไปยังคำสั่งนั้น เมื่อตรวจสอบเมล พารามิเตอร์นี้จะเก็บ
ชื่อของไฟล์เมลที่กำลังตรวจสอบอยู่

เปลือก ตัวแปร
ตัวแปรต่อไปนี้ถูกกำหนดโดยเชลล์:

ทุบตี ขยายเป็นชื่อไฟล์แบบเต็มที่ใช้เรียกอินสแตนซ์นี้ของ ทุบตี.
บาชอป
รายการที่คั่นด้วยโคลอนของตัวเลือกเชลล์ที่เปิดใช้งาน แต่ละคำในรายการถูกต้อง
อาร์กิวเมนต์สำหรับ -s ตัวเลือก ช๊อปปิ้ง คำสั่งในตัว (ดู SHELL สร้างขึ้น คำสั่ง
ด้านล่าง). ตัวเลือกที่ปรากฏใน บาชอป คือผู้ที่รายงานเป็น on by ช๊อปปิ้ง. ถ้า
ตัวแปรนี้อยู่ในสภาพแวดล้อมเมื่อ ทุบตี เริ่มต้นขึ้น แต่ละตัวเลือกเชลล์ใน
รายการจะถูกเปิดใช้งานก่อนที่จะอ่านไฟล์เริ่มต้นใด ๆ ตัวแปรนี้เป็นแบบอ่านอย่างเดียว
แบชพิด
ขยายเป็น ID กระบวนการของปัจจุบัน ทุบตี กระบวนการ. สิ่งนี้แตกต่างจาก $$ ภายใต้
สถานการณ์บางอย่างเช่น subshells ที่ไม่ต้องการ ทุบตี อีกครั้ง
เริ่มต้น
BASH_ALIASES
ตัวแปรอาเรย์ที่เชื่อมโยงซึ่งสมาชิกสอดคล้องกับรายการภายในของ
นามแฝงที่ดูแลโดย นามแฝง สร้างขึ้น องค์ประกอบที่เพิ่มลงในอาร์เรย์นี้จะปรากฏใน
รายการนามแฝง; การยกเลิกการตั้งค่าองค์ประกอบอาร์เรย์ทำให้ชื่อแทนถูกลบออกจากนามแฝง
รายการ.
ทุบตี_ARGC
ตัวแปรอาร์เรย์ที่มีค่าเป็นจำนวนพารามิเตอร์ในแต่ละเฟรมของ
ปัจจุบัน ทุบตี สแต็คการเรียกการดำเนินการ จำนวนพารามิเตอร์ถึงปัจจุบัน
รูทีนย่อย (ฟังก์ชันเชลล์หรือสคริปต์ทำงานด้วย . or แหล่ง) อยู่ที่ด้านบนสุดของ
กอง เมื่อเรียกใช้งานรูทีนย่อย จำนวนพารามิเตอร์ที่ส่งผ่านคือ
ผลักเข้าไป ทุบตี_ARGC. ชุดเปลือก ทุบตี_ARGC เฉพาะเมื่ออยู่ในการดีบักแบบขยาย
โหมด (ดูคำอธิบายของ ขยายข้อบกพร่อง ตัวเลือก ช๊อปปิ้ง ในตัวด้านล่าง)
BASH_ARGV
ตัวแปรอาร์เรย์ที่มีพารามิเตอร์ทั้งหมดในปัจจุบัน ทุบตี การปฏิบัติ
สแต็คการโทร พารามิเตอร์สุดท้ายของการเรียกรูทีนย่อยสุดท้ายอยู่ที่ด้านบนสุดของ
ซ้อนกัน; พารามิเตอร์แรกของการโทรเริ่มต้นอยู่ที่ด้านล่าง เมื่อรูทีนย่อย
ถูกดำเนินการ พารามิเตอร์ที่ให้มาจะถูกผลักไปที่ BASH_ARGV. ชุดเปลือก
BASH_ARGV เฉพาะเมื่ออยู่ในโหมดการดีบักแบบขยาย (ดูคำอธิบายของ ขยายข้อบกพร่อง
ตัวเลือก ช๊อปปิ้ง ในตัวด้านล่าง)
BASH_CMDS
ตัวแปรอาเรย์ที่เชื่อมโยงซึ่งสมาชิกสอดคล้องกับตารางแฮชภายใน
ของคำสั่งที่ดูแลโดย กัญชา สร้างขึ้น องค์ประกอบที่เพิ่มลงในอาร์เรย์นี้จะปรากฏขึ้น
ในตารางแฮช การยกเลิกการตั้งค่าองค์ประกอบอาร์เรย์ทำให้คำสั่งถูกลบออกจาก
ตารางแฮช
BASH_คำสั่ง
คำสั่งที่กำลังดำเนินการอยู่หรือกำลังจะดำเนินการ เว้นแต่ว่าเชลล์เป็น
รันคำสั่งอันเป็นผลจากกับดัก ซึ่งในกรณีนี้คือคำสั่ง
ดำเนินการในขณะที่กับดัก
BASH_EXECUTION_STRING
อาร์กิวเมนต์คำสั่งของ -c ตัวเลือกการเรียก
BASH_LINENO
ตัวแปรอาร์เรย์ที่มีสมาชิกเป็นหมายเลขบรรทัดในไฟล์ต้นฉบับโดยที่แต่ละ
สมาชิกที่สอดคล้องกันของ FUNCNAME ถูกเรียก ${BASH_LINENO[$i]} เป็นเส้น
หมายเลขในไฟล์ต้นฉบับ (${BASH_SOURCE[$i+1]}) ที่ไหน ${FUNCNAME[$i]} ถูกเรียกว่า
(หรือ ${BASH_LINENO[$i-1]} หากอ้างอิงภายในฟังก์ชันเชลล์อื่น) ใช้ ลินิน
เพื่อรับหมายเลขบรรทัดปัจจุบัน
ทุบตี_REMATCH
ตัวแปรอาร์เรย์ที่สมาชิกถูกกำหนดโดย =~ ตัวดำเนินการไบนารีถึง [[
คำสั่งแบบมีเงื่อนไข องค์ประกอบที่มีดัชนี 0 คือส่วนของสตริง
ตรงกับนิพจน์ทั่วไปทั้งหมด องค์ประกอบที่มีดัชนี n เป็นส่วนของ
สตริงที่ตรงกับ nนิพจน์ย่อยในวงเล็บ ตัวแปรนี้อ่าน -
เท่านั้น
BASH_SOURCE
ตัวแปรอาร์เรย์ที่มีสมาชิกเป็นชื่อไฟล์ต้นทางโดยที่
ชื่อฟังก์ชันของเชลล์ใน FUNCNAME ตัวแปรอาร์เรย์ถูกกำหนดไว้ เปลือก
ฟังก์ชัน ${FUNCNAME[$i]} ถูกกำหนดไว้ในไฟล์ ${BASH_SOURCE[$i]} และเรียกจาก
${BASH_SOURCE[$i+1]}.
BASH_SUBSHELL
เพิ่มขึ้นทีละหนึ่งภายในแต่ละสภาพแวดล้อมของ subshell หรือ subshell เมื่อ shell
เริ่มดำเนินการในสภาพแวดล้อมนั้น ค่าเริ่มต้นคือ 0
BASH_VERSINFO
ตัวแปรอาร์เรย์แบบอ่านอย่างเดียวที่สมาชิกเก็บข้อมูลเวอร์ชันสำหรับอินสแตนซ์นี้
of ทุบตี. ค่าที่กำหนดให้กับสมาชิกอาร์เรย์มีดังนี้:
BASH_VERSINFO[0] หมายเลขเวอร์ชันหลัก (the ปล่อย).
BASH_VERSINFO[1] หมายเลขเวอร์ชันรอง (the รุ่น).
BASH_VERSINFO[2] ระดับแพทช์
BASH_VERSINFO[3] รุ่นสร้าง.
BASH_VERSINFO[4] สถานะการเปิดตัว (เช่น beta1).
BASH_VERSINFO[5] คุณค่าของ ประเภทเครื่องจักร.
ทุบตี_VERSION
ขยายเป็นสตริงที่อธิบายเวอร์ชันของอินสแตนซ์นี้ ทุบตี.
COMP_CWORD
ดัชนีเป็น ${COMP_WORDS} ของคำที่มีตำแหน่งเคอร์เซอร์ปัจจุบัน
ตัวแปรนี้ใช้ได้เฉพาะในฟังก์ชันเชลล์ที่เรียกใช้โดย programmable
สิ่งอำนวยความสะดวกที่เสร็จสมบูรณ์ (ดู โปรแกรมได้ สร้างเสร็จ ด้านล่าง)
COMP_KEY
คีย์ (หรือคีย์สุดท้ายของลำดับคีย์) ใช้เพื่อเรียกความสมบูรณ์ในปัจจุบัน
ฟังก์ชัน
COMP_LINE
บรรทัดคำสั่งปัจจุบัน ตัวแปรนี้ใช้ได้เฉพาะในฟังก์ชันเชลล์และ
คำสั่งภายนอกที่เรียกใช้โดยสิ่งอำนวยความสะดวกสำเร็จรูปที่ตั้งโปรแกรมได้ (ดู
โปรแกรมได้ สร้างเสร็จ ด้านล่าง)
COMP_POINT
ดัชนีของตำแหน่งเคอร์เซอร์ปัจจุบันสัมพันธ์กับจุดเริ่มต้นของปัจจุบัน
สั่งการ. หากตำแหน่งเคอร์เซอร์ปัจจุบันอยู่ที่ส่วนท้ายของคำสั่งปัจจุบัน คำสั่ง
ค่าของตัวแปรนี้เท่ากับ ${#COMP_LINE}. ตัวแปรนี้ใช้ได้เท่านั้น
ในฟังก์ชันเชลล์และคำสั่งภายนอกที่เรียกใช้โดยโปรแกรมสำเร็จรูป
สิ่งอำนวยความสะดวก (ดู โปรแกรมได้ สร้างเสร็จ ด้านล่าง)
COMP_TYPE
ตั้งค่าเป็นจำนวนเต็มที่สอดคล้องกับประเภทของความสมบูรณ์ที่พยายาม
ทำให้เกิดการเรียกฟังก์ชันเสร็จสิ้น: TAB, สำหรับการเสร็จสิ้นตามปกติ, ?สำหรับ
แสดงรายการเสร็จสิ้นหลังจากแท็บต่อเนื่องกัน !, สำหรับการแสดงรายการทางเลือกในบางส่วน
จบคำ @, เพื่อแสดงการเติมคำให้สมบูรณ์ถ้าคำนั้นไม่ถูกแก้ไข หรือ %สำหรับ
เสร็จสิ้นเมนู ตัวแปรนี้ใช้ได้เฉพาะในฟังก์ชันเชลล์และภายนอก
คำสั่งที่เรียกใช้โดยสิ่งอำนวยความสะดวกสำเร็จรูปที่ตั้งโปรแกรมได้ (ดู โปรแกรมได้
สร้างเสร็จ ด้านล่าง)
COMP_WORDBREAKS
ชุดของอักขระที่ ReadLine ห้องสมุดถือเป็นตัวคั่นคำเมื่อ
ดำเนินการเติมคำให้สมบูรณ์ ถ้า COMP_WORDBREAKS ไม่ถูกตั้งค่า สูญเสียความพิเศษของมันไป
คุณสมบัติ แม้ว่าจะรีเซ็ตในภายหลังก็ตาม
COMP_WORDS
ตัวแปรอาร์เรย์ (ดู อาร์เรย์ ด้านล่าง) ประกอบด้วยคำแต่ละคำใน
บรรทัดคำสั่งปัจจุบัน บรรทัดแบ่งออกเป็นคำเช่น ReadLine จะแบ่งมัน,
การใช้ COMP_WORDBREAKS ตามที่อธิบายไว้ข้างต้น ตัวแปรนี้ใช้ได้เฉพาะในเชลล์
ฟังก์ชั่นที่เรียกใช้โดยสิ่งอำนวยความสะดวกสำเร็จรูปที่ตั้งโปรแกรมได้ (ดู โปรแกรมได้
สร้างเสร็จ ด้านล่าง)
คอปรอค ตัวแปรอาร์เรย์ (ดู อาร์เรย์ ด้านล่าง) สร้างขึ้นเพื่อเก็บ file descriptors สำหรับ
เอาต์พุตและอินพุตไปยังโปรเซสร่วมที่ไม่มีชื่อ (ดู กระบวนการร่วม ข้างบน).
ไดร์สแต็ก
ตัวแปรอาร์เรย์ (ดู อาร์เรย์ ด้านล่าง) ที่มีเนื้อหาปัจจุบันของ
ไดเร็กทอรีสแต็ค ไดเร็กทอรีปรากฏในสแต็กตามลำดับที่แสดง
โดย dirs สร้างขึ้น การกำหนดให้กับสมาชิกของตัวแปรอาร์เรย์นี้สามารถใช้เพื่อ
แก้ไขไดเร็กทอรีที่อยู่ในสแต็กอยู่แล้ว แต่ตัว pushd และ popd บิวอินจะต้อง
ใช้เพื่อเพิ่มและลบไดเร็กทอรี การมอบหมายให้ตัวแปรนี้จะไม่เปลี่ยนแปลง
ไดเร็กทอรีปัจจุบัน ถ้า ไดร์สแต็ก ไม่ได้ตั้งค่าจะสูญเสียคุณสมบัติพิเศษไปแม้กระทั่ง
หากมีการรีเซ็ตในภายหลัง
สหภาพยุโรป ขยายเป็น ID ผู้ใช้ที่มีประสิทธิภาพของผู้ใช้ปัจจุบัน ซึ่งเริ่มต้นเมื่อเริ่มต้นเชลล์
ตัวแปรนี้เป็นแบบอ่านอย่างเดียว
FUNCNAME
ตัวแปรอาร์เรย์ที่มีชื่อของฟังก์ชันเชลล์ทั้งหมดที่อยู่ใน
สแต็คการเรียกการดำเนินการ องค์ประกอบที่มีดัชนี 0 คือชื่อขององค์ประกอบใด ๆ ในปัจจุบัน
เรียกใช้ฟังก์ชันเชลล์ องค์ประกอบด้านล่างสุด (อันที่มีดัชนีสูงสุด)
คือ "หลัก" ตัวแปรนี้มีอยู่เฉพาะเมื่อมีการเรียกใช้ฟังก์ชันเชลล์
มอบหมายให้ FUNCNAME ไม่มีผลและส่งคืนสถานะข้อผิดพลาด ถ้า FUNCNAME is
หากไม่ตั้งค่า จะสูญเสียคุณสมบัติพิเศษ แม้ว่าจะรีเซ็ตในภายหลังก็ตาม

ตัวแปรนี้สามารถใช้ได้กับ BASH_LINENO และ BASH_SOURCE. แต่ละองค์ประกอบของ
FUNCNAME มีองค์ประกอบที่สอดคล้องกันใน BASH_LINENO และ BASH_SOURCE เพื่ออธิบาย
สแต็คการโทร ตัวอย่างเช่น ${FUNCNAME[$i]} ถูกเรียกจากไฟล์
${BASH_SOURCE[$i+1]} ได้ที่ไลน์เบอร์ ${BASH_LINENO[$i]}. ผู้โทร ในตัว
แสดง call stack ปัจจุบันโดยใช้ข้อมูลนี้
กลุ่ม ตัวแปรอาร์เรย์ที่มีรายชื่อกลุ่มที่ผู้ใช้ปัจจุบันคือa
สมาชิก. มอบหมายให้ กลุ่ม ไม่มีผลและส่งคืนสถานะข้อผิดพลาด ถ้า
กลุ่ม ไม่ได้ตั้งค่า จะสูญเสียคุณสมบัติพิเศษ แม้ว่าจะรีเซ็ตในภายหลังก็ตาม
HISTCMD
หมายเลขประวัติ หรือดัชนีในรายการประวัติ ของคำสั่งปัจจุบัน ถ้า
HISTCMD ไม่ได้ตั้งค่าไว้ จะสูญเสียคุณสมบัติพิเศษไป แม้ว่าจะไม่ได้ตั้งค่าในภายหลังก็ตาม
รีเซ็ต
ชื่อโฮสต์
ตั้งชื่อโฮสต์ปัจจุบันโดยอัตโนมัติ
ประเภทโฮสต์
ตั้งค่าโดยอัตโนมัติเป็นสตริงที่อธิบายประเภทของเครื่องที่
ทุบตี กำลังดำเนินการ ค่าดีฟอลต์ขึ้นอยู่กับระบบ
ลินิน ทุกครั้งที่มีการอ้างอิงพารามิเตอร์นี้ เชลล์จะแทนที่ตัวเลขทศนิยม
แทนหมายเลขบรรทัดลำดับปัจจุบัน (เริ่มต้นด้วย 1) ภายในสคริปต์
หรือหน้าที่ เมื่อไม่อยู่ในสคริปต์หรือฟังก์ชัน ค่าที่แทนที่ไม่ใช่
รับรองว่ามีความหมาย ถ้า ลินิน ไม่ได้ตั้งค่าจะสูญเสียคุณสมบัติพิเศษ
แม้ว่าจะรีเซ็ตในภายหลังก็ตาม
ประเภทเครื่องจักร
ตั้งค่าโดยอัตโนมัติเป็นสตริงที่อธิบายประเภทของระบบที่ ทุบตี is
ดำเนินการใน GNU . มาตรฐาน ซีพียู-บริษัท-ระบบ รูปแบบ. ค่าเริ่มต้นคือระบบ-
ขึ้นอยู่กับ.
แมปไฟล์
ตัวแปรอาร์เรย์ (ดู อาร์เรย์ ด้านล่าง) สร้างขึ้นเพื่อเก็บข้อความที่อ่านโดย ไฟล์แผนที่
ในตัวเมื่อไม่ได้ระบุชื่อตัวแปร
OLDPWD ไดเร็กทอรีการทำงานก่อนหน้าที่กำหนดโดย cd คำสั่ง
ออพทาร์ก ค่าของอาร์กิวเมนต์ตัวเลือกสุดท้ายที่ประมวลผลโดย รับ คำสั่งในตัว (ดู
SHELL สร้างขึ้น คำสั่ง ด้านล่าง)
เลือก ดัชนีของอาร์กิวเมนต์ถัดไปที่ประมวลผลโดย รับ คำสั่งในตัว (ดู
SHELL สร้างขึ้น คำสั่ง ด้านล่าง)
โอเอสไทป์ ตั้งค่าโดยอัตโนมัติเป็นสตริงที่อธิบายระบบปฏิบัติการที่ ทุบตี is
กำลังดำเนินการ ค่าดีฟอลต์ขึ้นอยู่กับระบบ
ไปป์สเตตัส
ตัวแปรอาร์เรย์ (ดู อาร์เรย์ ด้านล่าง) ที่มีรายการค่าสถานะการออกจาก
กระบวนการในไปป์ไลน์ส่วนหน้าที่เพิ่งดำเนินการล่าสุด (ซึ่งอาจมี
เพียงคำสั่งเดียว)
พีไอดี ID กระบวนการของพาเรนต์ของเชลล์ ตัวแปรนี้เป็นแบบอ่านอย่างเดียว
PWD ไดเร็กทอรีการทำงานปัจจุบันที่กำหนดโดย cd คำสั่ง
RANDOM ทุกครั้งที่มีการอ้างอิงพารามิเตอร์นี้ จำนวนเต็มสุ่มระหว่าง 0 ถึง 32767 is
สร้างขึ้น ลำดับของตัวเลขสุ่มสามารถเริ่มต้นได้โดยการกำหนดค่า
ไปยัง RANDOM. ถ้า RANDOM ไม่ได้ตั้งค่า จะสูญเสียคุณสมบัติพิเศษไป ถึงแม้ว่าจะเป็น
ต่อมารีเซ็ต
READLINE_LINE
เนื้อหาของไฟล์ ReadLine บัฟเฟอร์บรรทัด สำหรับใช้กับ "bind -x" (ดู SHELL สร้างขึ้น
คำสั่ง ด้านล่าง)
READLINE_POINT
ตำแหน่งของจุดแทรกใน ReadLine บัฟเฟอร์บรรทัด สำหรับใช้กับ "bind
-x" (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง)
ตอบ ตั้งค่าเป็นบรรทัดอินพุตที่อ่านโดย อ่าน คำสั่งในตัวเมื่อไม่มีอาร์กิวเมนต์เป็น
ที่จัดมา
วินาที
ทุกครั้งที่มีการอ้างอิงพารามิเตอร์นี้ จำนวนวินาทีตั้งแต่ shell
การร้องขอจะถูกส่งกลับ หากค่าถูกกำหนดให้เป็น วินาที, ค่าที่ส่งคืนเมื่อ
การอ้างอิงที่ตามมาคือจำนวนวินาทีนับตั้งแต่การมอบหมายบวกกับค่า
ที่ได้รับมอบหมาย. ถ้า วินาที ไม่ได้ตั้งค่า จะสูญเสียคุณสมบัติพิเศษไป ถึงแม้ว่าจะเป็น
ต่อมารีเซ็ต
หอยเชลล์
รายการที่คั่นด้วยโคลอนของตัวเลือกเชลล์ที่เปิดใช้งาน แต่ละคำในรายการถูกต้อง
อาร์กิวเมนต์สำหรับ -o ตัวเลือก ชุด คำสั่งในตัว (ดู SHELL สร้างขึ้น คำสั่ง
ด้านล่าง). ตัวเลือกที่ปรากฏใน หอยเชลล์ คือผู้ที่รายงานเป็น on by ชุด -o. ถ้า
ตัวแปรนี้อยู่ในสภาพแวดล้อมเมื่อ ทุบตี เริ่มต้นขึ้น แต่ละตัวเลือกเชลล์ใน
รายการจะถูกเปิดใช้งานก่อนที่จะอ่านไฟล์เริ่มต้นใด ๆ ตัวแปรนี้เป็นแบบอ่านอย่างเดียว
ชลวีแอล เพิ่มขึ้นครั้งละหนึ่งอินสแตนซ์ของ ทุบตี เริ่มแล้ว
โพสต์ ขยายเป็น ID ผู้ใช้ของผู้ใช้ปัจจุบัน ซึ่งเริ่มต้นเมื่อเริ่มต้นเชลล์ นี้
ตัวแปรเป็นแบบอ่านอย่างเดียว

ตัวแปรต่อไปนี้ถูกใช้โดยเชลล์ ในบางกรณี, ทุบตี กำหนดค่าเริ่มต้น
ค่าตัวแปร; กรณีเหล่านี้ระบุไว้ด้านล่าง

BASH_COMPAT
ค่านี้ใช้เพื่อกำหนดระดับความเข้ากันได้ของเชลล์ ดูคำอธิบายของ
ช๊อปปิ้ง สร้างขึ้นด้านล่างภายใต้ SHELL สร้างขึ้น คำสั่ง สำหรับคำอธิบายของ
ระดับความเข้ากันได้ที่หลากหลายและเอฟเฟกต์ ค่าอาจเป็นเลขฐานสิบ
(เช่น 4.2) หรือจำนวนเต็ม (เช่น 42) ที่สอดคล้องกับความเข้ากันได้ที่ต้องการ
ระดับ. ถ้า BASH_COMPAT ไม่ได้ตั้งค่าหรือตั้งค่าเป็นสตริงว่าง ระดับความเข้ากันได้
ถูกตั้งค่าเป็นค่าเริ่มต้นสำหรับเวอร์ชันปัจจุบัน ถ้า BASH_COMPAT ถูกกำหนดเป็นค่า
ที่ไม่ใช่ระดับความเข้ากันได้ที่ถูกต้องระดับหนึ่ง เชลล์พิมพ์ข้อผิดพลาด
ข้อความและตั้งค่าระดับความเข้ากันได้เป็นค่าเริ่มต้นสำหรับเวอร์ชันปัจจุบัน
ระดับความเข้ากันได้ที่ถูกต้องสอดคล้องกับตัวเลือกความเข้ากันได้ที่ยอมรับโดย
ช๊อปปิ้ง ในตัวที่อธิบายไว้ด้านล่าง (ตัวอย่างเช่น เข้ากันได้42 หมายความว่า 4.2 และ 42 เป็น
ค่าที่ถูกต้อง) เวอร์ชันปัจจุบันยังเป็นค่าที่ถูกต้องอีกด้วย
BASH_ENV
หากตั้งค่าพารามิเตอร์นี้เมื่อ ทุบตี กำลังรันเชลล์สคริปต์ ค่าของมันคือ
แปลเป็นชื่อไฟล์ที่มีคำสั่งเพื่อเริ่มต้นเชลล์เป็นin
~ / .bashrc. คุณค่าของ BASH_ENV อยู่ภายใต้การขยายพารามิเตอร์ command
การแทนที่และการขยายเลขคณิตก่อนที่จะตีความว่าเป็นชื่อไฟล์
เส้นทาง ไม่ได้ใช้เพื่อค้นหาชื่อไฟล์ผลลัพธ์
BASH_XTRACEFD
หากตั้งค่าเป็นจำนวนเต็มที่สอดคล้องกับตัวอธิบายไฟล์ที่ถูกต้อง ทุบตี จะเขียน
เอาต์พุตการติดตามที่สร้างขึ้นเมื่อ ชุด -x ถูกเปิดใช้งานเพื่ออธิบายไฟล์นั้น ไฟล์
descriptor ถูกปิดเมื่อ BASH_XTRACEFD ไม่ได้ตั้งค่าหรือกำหนดค่าใหม่
กำลังยกเลิกการตั้งค่า BASH_XTRACEFD หรือกำหนดให้เป็นสตริงว่างทำให้เอาต์พุตการติดตามเป็น
ถูกส่งไปยังข้อผิดพลาดมาตรฐาน โปรดทราบว่าการตั้งค่า BASH_XTRACEFD ถึง 2 (มาตรฐาน
error file descriptor) แล้วการไม่ตั้งค่าจะส่งผลให้เกิดข้อผิดพลาดมาตรฐาน
ถูกปิด
CDPATH เส้นทางการค้นหาสำหรับ cd สั่งการ. นี่คือรายการไดเรกทอรีที่คั่นด้วยเครื่องหมายโคลอน
โดยที่เชลล์ค้นหาไดเร็กทอรีปลายทางที่ระบุโดย cd คำสั่ง
ค่าตัวอย่างคือ ".:~:/ usr".
CHILD_MAX
ตั้งค่าจำนวนค่าสถานะย่อยที่ออกจากระบบเพื่อให้เชลล์จดจำ ทุบตีจะ
ไม่อนุญาตให้ค่านี้ลดลงต่ำกว่าขั้นต่ำที่ได้รับคำสั่ง POSIX และมี
มูลค่าสูงสุด (ปัจจุบัน 8192) ที่ไม่เกินนี้ ค่าต่ำสุดคือ
ขึ้นอยู่กับระบบ
คอลัมน์
ใช้โดย เลือก คำสั่งผสมเพื่อกำหนดความกว้างของเทอร์มินัลเมื่อพิมพ์
รายการการเลือก ตั้งค่าโดยอัตโนมัติหาก เช็ควินไซส์ เปิดใช้งานตัวเลือกหรือใน an
เชลล์แบบโต้ตอบเมื่อได้รับa ซิกวินช์.
สมบูรณ์
ตัวแปรอาร์เรย์จากที่ ทุบตี อ่านความสมบูรณ์ที่เป็นไปได้ที่สร้างโดยa
ฟังก์ชันเชลล์ที่เรียกใช้โดยสิ่งอำนวยความสะดวกในการตั้งโปรแกรมให้เสร็จสิ้น (ดู โปรแกรมได้
สร้างเสร็จ ด้านล่าง). องค์ประกอบอาร์เรย์แต่ละรายการมีความสมบูรณ์ที่เป็นไปได้หนึ่งรายการ
อีเอ็มซี If ทุบตี พบตัวแปรนี้ในสภาพแวดล้อมเมื่อเชลล์เริ่มต้นด้วยค่า
"t" จะถือว่าเชลล์กำลังทำงานอยู่ในบัฟเฟอร์เชลล์ Emacs และปิดการใช้งาน
การแก้ไขบรรทัด
ENV คล้ายกับ BASH_ENV; ใช้เมื่อเชลล์ถูกเรียกใช้ในโหมด POSIX
เอฟซีดิท ตัวแก้ไขเริ่มต้นสำหรับ fc คำสั่งในตัว
ฟิกเกอร์
รายการส่วนต่อท้ายที่คั่นด้วยเครื่องหมายโคลอนเพื่อละเว้นเมื่อดำเนินการเสร็จสิ้นชื่อไฟล์
(ดู อ่าน ด้านล่าง). ชื่อไฟล์ที่มีคำต่อท้ายตรงกับหนึ่งในรายการใน
ฟิกเกอร์ ไม่รวมอยู่ในรายชื่อไฟล์ที่ตรงกัน ค่าตัวอย่างคือ ".o:~"
(จำเป็นต้องมีการเสนอราคาเมื่อกำหนดค่าให้กับตัวแปรนี้ ซึ่งมีตัวหนอน)
ความสนุกที่สุด
หากตั้งค่าเป็นตัวเลขที่มากกว่า 0 จะกำหนดระดับการซ้อนฟังก์ชันสูงสุด
การเรียกใช้ฟังก์ชันที่เกินระดับการซ้อนนี้จะทำให้เกิดคำสั่งปัจจุบัน
ที่จะยกเลิก
โกลบิกนอร์
รายการรูปแบบที่คั่นด้วยโคลอนที่กำหนดชุดของชื่อไฟล์ที่จะละเว้นโดย
การขยายชื่อพาธ หากชื่อไฟล์ตรงกับรูปแบบการขยายชื่อพาธด้วย
ตรงกับรูปแบบใดรูปแบบหนึ่งใน โกลบิกนอร์จะถูกลบออกจากรายการการแข่งขัน
ฮิสคอนโทรล
รายการค่าที่คั่นด้วยโคลอนควบคุมวิธีการบันทึกคำสั่งในประวัติ
รายการ. หากรายการค่ารวมถึง ละเว้นสเปซ, บรรทัดที่ขึ้นต้นด้วย a ช่องว่าง
ตัวละครจะไม่ถูกบันทึกในรายการประวัติ ค่าของ ละเว้น ทำให้เกิดเส้น
ตรงกับรายการประวัติก่อนหน้าที่จะไม่ถูกบันทึก ค่าของ ละเลยทั้งคู่ is
อักษรย่อสำหรับ ละเว้นสเปซ และ ละเว้น. ค่าของ การลบ ทำให้ก่อนหน้าทั้งหมด
บรรทัดที่ตรงกับบรรทัดปัจจุบันที่จะลบออกจากรายการประวัติก่อนหน้านั้น
บันทึกบรรทัดแล้ว ค่าใดๆ ที่ไม่อยู่ในรายการด้านบนจะถูกละเว้น ถ้า ฮิสคอนโทรล is
unset หรือไม่รวมค่าที่ถูกต้อง บรรทัดทั้งหมดที่อ่านโดย shell parser are
บันทึกไว้ในรายการประวัติตามมูลค่าของ ฮิสทีนอร์. ที่สองและ
บรรทัดที่ตามมาของคำสั่งผสมหลายบรรทัดจะไม่ถูกทดสอบ และเพิ่มลงใน
ประวัติศาสตร์โดยไม่คำนึงถึงคุณค่าของ ฮิสคอนโทรล.
ฮิสไฟล์
ชื่อของไฟล์ที่บันทึกประวัติคำสั่ง (ดู ประวัติ ด้านล่าง). NS
ค่าเริ่มต้นคือ ~ / .bash_history. หากไม่ได้ตั้งค่า ประวัติคำสั่งจะไม่ถูกบันทึกเมื่อ
เปลือกออก
HISTFILESIZE
จำนวนบรรทัดสูงสุดที่มีอยู่ในไฟล์ประวัติ เมื่อตัวแปรนี้คือ
กำหนดค่า ไฟล์ประวัติจะถูกตัดทอน ถ้าจำเป็น เพื่อไม่ให้มีอีก
กว่าจำนวนบรรทัดนั้นโดยลบรายการที่เก่าที่สุด ไฟล์ประวัติก็เช่นกัน
ตัดทอนให้เหลือขนาดนี้หลังจากเขียนเมื่อเชลล์ออก หากค่าเป็น 0 ค่า
ไฟล์ประวัติถูกตัดให้เหลือขนาดศูนย์ ค่าที่ไม่ใช่ตัวเลขและค่าตัวเลขน้อยกว่า
กว่าศูนย์ยับยั้งการตัดทอน เชลล์ตั้งค่าเริ่มต้นเป็นค่าของ
ฮิสต์ไซส์ หลังจากอ่านไฟล์เริ่มต้นใด ๆ
ฮิสทีนอร์
รายการรูปแบบที่คั่นด้วยโคลอนที่ใช้ในการตัดสินใจว่าควรเป็นบรรทัดคำสั่งใด
บันทึกไว้ในรายการประวัติ แต่ละรูปแบบถูกยึดไว้ที่จุดเริ่มต้นของเส้น
และต้องตรงกับบรรทัดทั้งหมด (ไม่มีนัย `*' ต่อท้าย) แต่ละแบบคือ
ทดสอบกับสายหลังจากตรวจสอบที่ระบุโดย ฮิสคอนโทรล ถูกนำไปใช้ ใน
นอกเหนือจากอักขระจับคู่รูปแบบเชลล์ปกติ `&' ตรงกับก่อนหน้านี้
สายประวัติศาสตร์ `&' อาจถูกหลบหนีโดยใช้แบ็กสแลช แบ็กสแลชจะถูกลบออก
ก่อนทำการแข่งขัน บรรทัดที่สองและต่อมาของหลายบรรทัด
คำสั่งผสมจะไม่ถูกทดสอบ และจะถูกเพิ่มเข้าไปในประวัติโดยไม่คำนึงถึง
ค่าของ ฮิสทีนอร์.
ฮิสต์ไซส์
จำนวนคำสั่งที่ต้องจำในประวัติคำสั่ง (ดู ประวัติ ด้านล่าง). ถ้า
ค่าคือ 0 คำสั่งจะไม่ถูกบันทึกในรายการประวัติ ค่าตัวเลขน้อยกว่า
มากกว่าศูนย์ส่งผลให้ทุกคำสั่งถูกบันทึกไว้ในรายการประวัติ (ไม่มี
ขีดจำกัด) เชลล์ตั้งค่าเริ่มต้นเป็น 500 หลังจากอ่านไฟล์เริ่มต้นใดๆ
HIST TIME FORMAT
หากตัวแปรนี้ถูกตั้งค่าและไม่เป็นค่าว่าง ค่าของตัวแปรนี้จะถูกใช้เป็นสตริงรูปแบบสำหรับ
สตริฟไทม์(3) พิมพ์ประทับเวลาที่เกี่ยวข้องกับรายการประวัติแต่ละรายการที่แสดงโดย
ประวัติ สร้างขึ้น หากมีการตั้งค่าตัวแปรนี้ การประทับเวลาจะถูกเขียนไปที่
ไฟล์ประวัติเพื่อให้สามารถเก็บรักษาไว้ตลอดเซสชันของเชลล์ สิ่งนี้ใช้ประวัติศาสตร์
อักขระแสดงความคิดเห็นเพื่อแยกการประทับเวลาออกจากบรรทัดประวัติอื่นๆ
หน้าหลัก โฮมไดเร็กทอรีของผู้ใช้ปัจจุบัน อาร์กิวเมนต์เริ่มต้นสำหรับ cd ในตัว
สั่งการ. ค่าของตัวแปรนี้ยังใช้เมื่อทำการขยายเครื่องหมายตัวหนอน
โฮสต์ไฟล์
มีชื่อไฟล์ในรูปแบบเดียวกับ / etc / hosts ที่ควรอ่าน
เมื่อเชลล์ต้องการกรอกชื่อโฮสต์ รายชื่อโฮสต์ที่เป็นไปได้
ความสมบูรณ์อาจเปลี่ยนแปลงได้ในขณะที่เชลล์กำลังทำงาน ครั้งหน้าชื่อโฮสต์
พยายามทำให้เสร็จหลังจากเปลี่ยนค่าแล้ว ทุบตี เพิ่มเนื้อหาของ
ไฟล์ใหม่ไปยังรายการที่มีอยู่ ถ้า โฮสต์ไฟล์ ถูกกำหนดแต่ไม่มีค่าหรือไม่มี
ตั้งชื่อไฟล์ที่อ่านได้ ทุบตี พยายามอ่าน / etc / hosts เพื่อรับรายชื่อ
การกรอกชื่อโฮสต์ที่เป็นไปได้ เมื่อไหร่ โฮสต์ไฟล์ ไม่ได้ตั้งค่า รายการชื่อโฮสต์คือ
เคลียร์
ไอเอฟเอ พื้นที่ ภายใน สนาม เครื่องสกัด ที่ใช้สำหรับการแยกคำหลังจากขยายและ to
แบ่งบรรทัดเป็นคำด้วย อ่าน คำสั่งในตัว ค่าเริ่มต้นคือ
`` ''.
IGNOREOF
ควบคุมการทำงานของเชลล์แบบโต้ตอบเมื่อได้รับ an EOF ตัวละครที่เป็น
อินพุต แต่เพียงผู้เดียว หากกำหนดไว้ ค่าจะเป็นจำนวนต่อเนื่องกัน EOF ตัวอักษรที่
ต้องพิมพ์เป็นอักขระตัวแรกในบรรทัดอินพุตก่อน ทุบตี ทางออก ถ้า
ตัวแปรมีอยู่แต่ไม่มีค่าตัวเลขหรือไม่มีค่า default
มีค่าเท่ากับ 10 หากไม่มีอยู่ EOF หมายถึงจุดสิ้นสุดของอินพุตไปยังเชลล์
อินพุทอาร์ซี
ชื่อไฟล์สำหรับ ReadLine ไฟล์เริ่มต้น แทนที่ค่าเริ่มต้นของ ~ / .inputrc
(ดู อ่าน ด้านล่าง)
ภาษา ใช้เพื่อกำหนดหมวดหมู่สถานที่สำหรับหมวดหมู่ใดๆ ที่ไม่ได้เลือกไว้โดยเฉพาะ
ด้วยตัวแปรที่ขึ้นต้นด้วย แอลซี_.
LC_ALL ตัวแปรนี้แทนที่ค่าของ ภาษา และอื่น ๆ แอลซี_ ตัวแปรที่ระบุ a
หมวดหมู่สถานที่
LC_COLLATE
ตัวแปรนี้กำหนดลำดับการจัดเรียงที่ใช้เมื่อเรียงลำดับผลลัพธ์ของ
การขยายชื่อพาธ และกำหนดพฤติกรรมของนิพจน์ช่วง สมมูล
คลาสและลำดับการเรียงภายในการขยายชื่อพาธและการจับคู่รูปแบบ
LC_CTYPE
ตัวแปรนี้กำหนดการตีความอักขระและพฤติกรรมของ
คลาสอักขระภายในการขยายชื่อพาธและการจับคู่รูปแบบ
LC_MESSAGES
ตัวแปรนี้กำหนดโลแคลที่ใช้ในการแปลสตริงที่มีเครื่องหมายคำพูดคู่
นำหน้าด้วย $.
LC_NUMERIC
ตัวแปรนี้กำหนดหมวดหมู่โลแคลที่ใช้สำหรับการจัดรูปแบบตัวเลข
LINES ใช้โดย เลือก คำสั่งผสมเพื่อกำหนดความยาวคอลัมน์สำหรับการพิมพ์
รายการการเลือก ตั้งค่าโดยอัตโนมัติหาก เช็ควินไซส์ เปิดใช้งานตัวเลือกหรือใน an
เชลล์แบบโต้ตอบเมื่อได้รับa ซิกวินช์.
MAIL หากพารามิเตอร์นี้ถูกตั้งค่าเป็นชื่อไฟล์หรือไดเร็กทอรีและ เมลพาธ ตัวแปร is
ไม่ได้ตั้งค่า ทุบตี แจ้งให้ผู้ใช้ทราบว่าจดหมายมาถึงในไฟล์ที่ระบุหรือ
ไดเร็กทอรีรูปแบบ Maildir
เช็คเมล
ระบุความถี่ (เป็นวินาที) ทุบตี ตรวจสอบจดหมาย ค่าเริ่มต้นคือ 60 วินาที
เมื่อถึงเวลาตรวจสอบเมล เชลล์จะตรวจสอบก่อนแสดงอีเมลหลัก
พร้อมท์ หากไม่ได้ตั้งค่าตัวแปรนี้ หรือตั้งค่าเป็นค่าที่ไม่ใช่ตัวเลขที่มากกว่า
มากกว่าหรือเท่ากับศูนย์ เชลล์ปิดใช้งานการตรวจสอบเมล
เมลพาธ
รายการชื่อไฟล์ที่คั่นด้วยเครื่องหมายทวิภาคที่จะตรวจสอบเมล ข้อความที่จะ
พิมพ์เมื่อจดหมายมาถึงในไฟล์ใดไฟล์หนึ่งอาจระบุโดยแยก
ชื่อไฟล์จากข้อความที่มี `?' เมื่อนำมาใช้ในข้อความ $_
ขยายเป็นชื่อของเมลไฟล์ปัจจุบัน ตัวอย่าง:
เมลพาธ='/var/mail/bfox?"คุณมีเมล":~/เชลล์-mail?"$_ มีเมลแล้ว!"'
ทุบตี ให้ค่าเริ่มต้นสำหรับตัวแปรนี้ แต่ตำแหน่งของเมลผู้ใช้
ไฟล์ที่ใช้ขึ้นอยู่กับระบบ (เช่น /var/เมล/$ USER).
ออปเตอร์ หากตั้งค่าเป็น 1 ทุบตี แสดงข้อความแสดงข้อผิดพลาดที่สร้างโดย รับ
คำสั่งในตัว (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง) ออปเตอร์ เริ่มต้นเป็น1
ทุกครั้งที่เรียกใช้เชลล์หรือเรียกใช้สคริปต์เชลล์
เส้นทาง เส้นทางการค้นหาคำสั่ง เป็นรายการไดเร็กทอรีที่คั่นด้วยโคลอนซึ่ง
เชลล์ค้นหาคำสั่ง (ดู คำสั่ง การดำเนินการ ด้านล่าง). ความยาวเป็นศูนย์ (null)
ชื่อไดเรกทอรีในค่าของ เส้นทาง ระบุไดเร็กทอรีปัจจุบัน เป็นโมฆะ
ชื่อไดเร็กทอรีอาจปรากฏเป็นโคลอนสองตัวที่อยู่ติดกัน หรือเป็นชื่อย่อหรือต่อท้าย
ลำไส้ใหญ่ เส้นทางเริ่มต้นขึ้นอยู่กับระบบและกำหนดโดยผู้ดูแลระบบที่
การติดตั้ง ทุบตี. ค่าทั่วไปคือ ``/ usr / local / bin:/ usr / local / sbin:/ usr / bin:
/ usr / sbin:/ bin:/ sbin''.
POSIXLY_CORRECT
หากตัวแปรนี้อยู่ในสภาพแวดล้อมเมื่อ ทุบตี เริ่มเปลือกเข้า POSIX
โหมด ก่อนอ่านไฟล์เริ่มต้นราวกับว่า --posix ตัวเลือกการเรียกที่ได้รับ
ที่ให้มา หากตั้งค่าไว้ในขณะที่เชลล์กำลังทำงานอยู่ ทุบตี ช่วยให้ POSIX โหมด, เหมือนกับ
คำสั่ง ชุด -o POSIX ถูกประหารชีวิต
พร้อมท์_COMMAND
หากตั้งค่าไว้ ค่าจะถูกดำเนินการเป็นคำสั่งก่อนที่จะออกพรอมต์หลักแต่ละรายการ
PROMPT_DIRTRIM
หากตั้งค่าเป็นตัวเลขที่มากกว่าศูนย์ ค่าจะถูกใช้เป็นตัวเลขต่อท้าย
ส่วนประกอบไดเรกทอรีที่จะเก็บไว้เมื่อขยาย \w และ \W สตริงพร้อมท์หนี
(ดู พร้อมท์ ด้านล่าง). อักขระที่ลบออกจะถูกแทนที่ด้วยจุดไข่ปลา
PS1 ค่าของพารามิเตอร์นี้ถูกขยาย (ดู พร้อมท์ ด้านล่าง) และใช้เป็น
สตริงพรอมต์หลัก ค่าเริ่มต้นคือ ``\s-\v\$ ''.
PS2 ค่าของพารามิเตอร์นี้ถูกขยายเช่นเดียวกับ PS1 และใช้เป็นรอง
สตริงพร้อมท์ ค่าเริ่มต้นคือ ``> ''.
PS3 ค่าของพารามิเตอร์นี้ใช้เป็นพรอมต์สำหรับ เลือก คำสั่ง (ดู SHELL
ไวยากรณ์ ข้างบน).
PS4 ค่าของพารามิเตอร์นี้ถูกขยายเช่นเดียวกับ PS1 และพิมพ์ค่าไว้ก่อน
แต่ละคำสั่ง ทุบตี แสดงระหว่างการติดตามการดำเนินการ อักขระตัวแรกของ PS4
ถูกทำซ้ำหลายครั้ง ตามความจำเป็น เพื่อบ่งชี้ระดับของ
ทางอ้อม ค่าเริ่มต้นคือ ``+ ''.
SHELL ชื่อพาธแบบเต็มของเชลล์ถูกเก็บไว้ในตัวแปรสภาพแวดล้อมนี้ ถ้าไม่ใช่
ตั้งค่าเมื่อเปลือกเริ่มต้น ทุบตี กำหนดชื่อพาธแบบเต็มของ current . ให้กับมัน
เปลือกล็อกอินของผู้ใช้
รูปแบบเวลา
ค่าของพารามิเตอร์นี้ถูกใช้เป็นสตริงรูปแบบที่ระบุวิธีการจับเวลา
ข้อมูลสำหรับไปป์ไลน์ที่นำหน้าด้วย เวลา ควรแสดงคำที่สงวนไว้
พื้นที่ % ตัวละครแนะนำลำดับการหลบหนีที่ขยายเป็นค่าเวลาหรือ
ข้อมูลอื่น ๆ. ลำดับการหลบหนีและความหมายมีดังนี้ NS
วงเล็บแสดงถึงส่วนที่ไม่จำเป็น
%% อักษร %.
%[p][l]ร เวลาที่ผ่านไปเป็นวินาที
%[p][l]คุณ จำนวนวินาทีของ CPU ที่ใช้ในโหมดผู้ใช้
%[p][l]ส จำนวนวินาทีของ CPU ที่ใช้ในโหมดระบบ
%P เปอร์เซ็นต์ CPU คำนวณเป็น (%U + %S) / %R

ตัวเลือก p เป็นตัวเลขระบุ ความแม่นยำ, จำนวนเศษส่วน
หลังจุดทศนิยม ค่า 0 ทำให้ไม่มีจุดทศนิยมหรือเศษส่วนเป็น
เอาท์พุท กำหนดจุดทศนิยมได้ไม่เกินสามตำแหน่ง ค่าของ p
มากกว่า 3 จะถูกเปลี่ยนเป็น 3 ถ้า p ไม่ได้ระบุ ใช้ค่า 3

ตัวเลือก l ระบุรูปแบบที่ยาวขึ้น รวมทั้งนาทีของรูปแบบ MMmSS.FFs.
คุณค่าของ p กำหนดว่าจะรวมเศษส่วนหรือไม่

หากไม่ได้ตั้งค่าตัวแปรนี้ ทุบตี ทำตัวเหมือนมีค่า
$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS'. หากค่าเป็นโมฆะ จะไม่มีการกำหนดเวลา
ข้อมูลจะปรากฏขึ้น เพิ่มบรรทัดใหม่ต่อท้ายเมื่อสตริงรูปแบบเป็น
แสดง
TMOUT หากตั้งค่าเป็นค่าที่มากกว่าศูนย์ TMOUT จะถือว่าเป็นการหมดเวลาเริ่มต้นสำหรับ
อ่าน สร้างขึ้น NS เลือก คำสั่งจะสิ้นสุดลงหากอินพุตไม่มาถึงหลังจาก
TMOUT วินาทีเมื่ออินพุตมาจากเทอร์มินัล ในเชลล์แบบโต้ตอบ the
ค่าจะถูกตีความว่าเป็นจำนวนวินาทีที่รอบรรทัดอินพุตหลังจาก
ออกพรอมต์หลัก ทุบตี สิ้นสุดหลังจากรอจำนวน
วินาทีหากสายป้อนไม่ครบ
ทีเอ็มพีดีอาร์ หากตั้งไว้ ทุบตี ใช้ค่าเป็นชื่อของไดเร็กทอรีที่ ทุบตี สร้าง
ไฟล์ชั่วคราวสำหรับการใช้เชลล์
อัตโนมัติ_ประวัติย่อ
ตัวแปรนี้ควบคุมวิธีที่เชลล์โต้ตอบกับผู้ใช้และการควบคุมงาน ถ้า
ตัวแปรนี้ถูกตั้งค่า คำสั่งง่าย ๆ คำเดียวโดยไม่มีการเปลี่ยนเส้นทางจะได้รับการปฏิบัติ
ในฐานะผู้สมัครเพื่อเริ่มต้นงานที่หยุดทำงานที่มีอยู่ใหม่ ไม่มีความคลุมเครือ
อนุญาต; หากมีมากกว่าหนึ่งงานที่ขึ้นต้นด้วยสตริงที่พิมพ์ job
การเข้าถึงล่าสุดถูกเลือก NS ชื่อ ของงานที่หยุดในบริบทนี้คือ
บรรทัดคำสั่งที่ใช้ในการเริ่มต้น หากตั้งค่าเป็นค่า แน่นอน, สตริงที่ให้มา
ต้องตรงกับชื่อของงานที่หยุดทุกประการ ถ้าตั้งเป็น สตริงย่อย, สตริง
ที่ระบุต้องตรงกับสตริงย่อยของชื่องานที่หยุดทำงาน NS สตริงย่อย
ค่าให้ฟังก์ชันการทำงานที่คล้ายคลึงกับ %? ตัวระบุงาน (ดู JOB ควบคุม
ด้านล่าง). หากตั้งค่าเป็นค่าอื่น สตริงที่ให้มาต้องเป็นคำนำหน้าของ a
หยุดชื่องาน; นี้ให้การทำงานที่คล้ายคลึงกับ %เชือก งาน
ตัวระบุ
ฮิชชาร์
อักขระสองหรือสามตัวที่ควบคุมการขยายประวัติและการสร้างโทเค็น (ดู
ประวัติ ขยาย ด้านล่าง). อักขระตัวแรกคือ ประวัติ การขยายตัว ตัวอักษร
อักขระที่ส่งสัญญาณการเริ่มต้นของการขยายประวัติศาสตร์ ปกติ `!'.
อักขระตัวที่สองคือ รวดเร็ว การแทน อักขระซึ่งใช้เป็นชวเลข
สำหรับการรันคำสั่งก่อนหน้าที่ป้อนใหม่อีกครั้งโดยแทนที่สตริงหนึ่งสำหรับอีก in
คำสั่ง ค่าเริ่มต้นคือ `^'. อักขระตัวที่สามที่เป็นตัวเลือกคืออักขระ
ซึ่งระบุว่าส่วนที่เหลือของบรรทัดเป็นความคิดเห็นเมื่อพบเป็นรายการแรก
อักขระของคำ ปกติ `#'. อักขระความคิดเห็นประวัติศาสตร์ทำให้เกิดประวัติศาสตร์
การแทนที่ที่จะข้ามไปสำหรับคำที่เหลือในบรรทัด มันไม่ใช่
จำเป็นต้องทำให้เชลล์ parser ปฏิบัติต่อส่วนที่เหลือของบรรทัดเป็นความคิดเห็น

อาร์เรย์
ทุบตี จัดเตรียมตัวแปรอาร์เรย์ที่จัดทำดัชนีและเชื่อมโยงหนึ่งมิติ ตัวแปรใดๆ อาจ
ใช้เป็นอาร์เรย์ที่จัดทำดัชนี NS ประกาศ builtin จะประกาศอาร์เรย์อย่างชัดเจน ที่นั่น
ไม่มีขีดจำกัดสูงสุดของขนาดของอาร์เรย์ หรือข้อกำหนดใด ๆ ที่สมาชิกจะถูกจัดทำดัชนี
หรือได้รับมอบหมายอย่างต่อเนื่อง อาร์เรย์ที่จัดทำดัชนีถูกอ้างอิงโดยใช้จำนวนเต็ม (รวมถึง
นิพจน์เลขคณิต) และเป็นแบบศูนย์ อาร์เรย์ที่เชื่อมโยงถูกอ้างอิงโดยใช้
สตริงโดยพลการ เว้นแต่จะระบุไว้เป็นอย่างอื่น ดัชนีอาร์เรย์ที่จัดทำดัชนีต้องไม่เป็นค่าลบ
จำนวนเต็ม

อาร์เรย์ที่จัดทำดัชนีจะถูกสร้างขึ้นโดยอัตโนมัติหากมีการกำหนดตัวแปรให้ใช้ไวยากรณ์
ชื่อ[ตัวห้อย]=ความคุ้มค่า. ตัวห้อย ถือเป็นนิพจน์เลขคณิตที่ต้อง
ประเมินเป็นตัวเลข หากต้องการประกาศอาร์เรย์ที่จัดทำดัชนีอย่างชัดเจน ให้ใช้ ประกาศ -a ชื่อ (ดู
SHELL สร้างขึ้น คำสั่ง ด้านล่าง) ประกาศ -a ชื่อ[ตัวห้อย] ยังเป็นที่ยอมรับ; NS ตัวห้อย
ถูกละเว้น

แอสโซซิเอทีฟอาเรย์ถูกสร้างขึ้นโดยใช้ ประกาศ -A ชื่อ.

อาจระบุแอตทริบิวต์สำหรับตัวแปรอาร์เรย์โดยใช้ ประกาศ และ อ่านเท่านั้น บิวอิน
แต่ละแอตทริบิวต์ใช้กับสมาชิกทั้งหมดของอาร์เรย์

อาร์เรย์ถูกกำหนดให้ใช้การกำหนดแบบผสมของฟอร์ม ชื่อ=(ความคุ้มค่า1 ... ค่าn),
แต่ละที่ ความคุ้มค่า อยู่ในรูปแบบ [ตัวห้อย]=เชือก. การกำหนดอาร์เรย์ที่จัดทำดัชนีไม่ได้
ต้องการอะไรแต่ เชือก. เมื่อกำหนดให้กับอาร์เรย์ที่จัดทำดัชนีหากวงเล็บเสริม
และตัวห้อยถูกจัดเตรียม ดัชนีนั้นถูกกำหนดให้; มิฉะนั้นดัชนีขององค์ประกอบ
กำหนดเป็นดัชนีสุดท้ายที่กำหนดโดยคำสั่งบวกหนึ่ง การจัดทำดัชนีเริ่มต้นที่
ศูนย์.

เมื่อกำหนดให้กับอาเรย์ที่เชื่อมโยง จำเป็นต้องมีตัวห้อย

ไวยากรณ์นี้เป็นที่ยอมรับโดย ประกาศ สร้างขึ้น องค์ประกอบอาร์เรย์แต่ละรายการอาจเป็น
กำหนดให้ใช้ ชื่อ[ตัวห้อย]=ความคุ้มค่า ไวยากรณ์ที่แนะนำข้างต้น เมื่อมอบหมายให้ an
อาร์เรย์ที่จัดทำดัชนี if ชื่อ ถูกห้อยด้วยจำนวนลบ ตัวเลขนั้นจะถูกตีความว่า
เทียบกับดัชนีสูงสุดของ ชื่อดัชนีเชิงลบจึงนับถอยหลัง
จากจุดสิ้นสุดของอาร์เรย์ และดัชนี -1 จะอ้างอิงถึงองค์ประกอบสุดท้าย

องค์ประกอบใด ๆ ของอาร์เรย์สามารถอ้างอิงได้โดยใช้ ${ชื่อ[ตัวห้อย]}. เหล็กดัดฟันคือ
จำเป็นเพื่อหลีกเลี่ยงความขัดแย้งกับการขยายชื่อพาธ ถ้า ตัวห้อย is @ or *, คำ
ขยายไปยังสมาชิกทั้งหมดของ ชื่อ. ตัวห้อยเหล่านี้แตกต่างกันเฉพาะเมื่อคำปรากฏขึ้นภายใน
คำพูดคู่ หากคำนั้นใช้เครื่องหมายคำพูดสองครั้ง ${ชื่อ[*]} ขยายเป็นคำเดียวด้วย
ค่าของสมาชิกอาร์เรย์แต่ละตัวคั่นด้วยอักขระตัวแรกของ ไอเอฟเอ ตัวแปรพิเศษ
และ ${ชื่อ[@]} ขยายแต่ละองค์ประกอบของ ชื่อ เป็นคำที่แยกจากกัน เมื่อไม่มีอาร์เรย์
สมาชิก ${ชื่อ[@]} ขยายเป็นไม่มีอะไรเลย หากการขยายแบบ double-quoted เกิดขึ้นภายใน a
คำ การขยายตัวของพารามิเตอร์แรกจะเข้าร่วมกับส่วนต้นของ
คำดั้งเดิมและการขยายพารามิเตอร์สุดท้ายจะรวมเข้ากับส่วนสุดท้ายของ
คำเดิม ซึ่งคล้ายกับการขยายตัวของพารามิเตอร์พิเศษ * และ @ (ดู
พิเศษ พารามิเตอร์ ข้างต้น). ${#ชื่อ[ตัวห้อย]} ขยายเป็นความยาวของ
${ชื่อ[ตัวห้อย]}. ถ้า ตัวห้อย is * or @, การขยายตัวคือจำนวนขององค์ประกอบใน
อาร์เรย์ การอ้างอิงตัวแปรอาร์เรย์โดยไม่มีตัวห้อยเท่ากับการอ้างอิง
อาร์เรย์ที่มีตัวห้อยเป็น 0 ถ้า the ตัวห้อย ใช้เพื่ออ้างอิงองค์ประกอบของ an
อาร์เรย์ที่จัดทำดัชนีจะประเมินเป็นตัวเลขที่น้อยกว่าศูนย์ มันถูกตีความว่าสัมพันธ์กับหนึ่ง
มากกว่าดัชนีสูงสุดของอาร์เรย์ ดังนั้นดัชนีเชิงลบจะนับถอยหลังจากจุดสิ้นสุด
ของอาร์เรย์ และดัชนี -1 อ้างอิงถึงองค์ประกอบสุดท้าย

ตัวแปรอาร์เรย์จะถือเป็นการตั้งค่าหากมีการกำหนดค่าตัวห้อย null
string เป็นค่าที่ถูกต้อง

สามารถรับคีย์ (ดัชนี) ของอาร์เรย์รวมถึงค่าต่างๆ ได้
${!ชื่อ[@]} และ ${!ชื่อ[*]} ขยายไปยังดัชนีที่กำหนดในตัวแปรอาร์เรย์ ชื่อ.
การรักษาเมื่ออยู่ในเครื่องหมายคำพูดคู่จะคล้ายกับการขยายตัวของพารามิเตอร์พิเศษ @
และ * ภายในเครื่องหมายคำพูดคู่

พื้นที่ ยกเลิกการตั้งค่า builtin ใช้เพื่อทำลายอาร์เรย์ ยกเลิกการตั้งค่า ชื่อ[ตัวห้อย] ทำลายอาร์เรย์
องค์ประกอบที่ดัชนี ตัวห้อย. ตัวห้อยเชิงลบไปยังอาร์เรย์ที่จัดทำดัชนีถูกตีความว่าเป็น
อธิบายไว้ข้างต้น. ต้องใช้ความระมัดระวังเพื่อหลีกเลี่ยงผลข้างเคียงที่ไม่พึงประสงค์ที่เกิดจากชื่อพาธ
การขยายตัว ยกเลิกการตั้งค่า ชื่อที่นี่มี ชื่อ เป็นอาร์เรย์หรือ ยกเลิกการตั้งค่า ชื่อ[ตัวห้อย], ที่ไหน ตัวห้อย
is * or @, ลบอาร์เรย์ทั้งหมด

พื้นที่ ประกาศ, ในประเทศและ อ่านเท่านั้น buildins แต่ละคนยอมรับ a -a ตัวเลือกเพื่อระบุการจัดทำดัชนี
อาร์เรย์และ a -A ตัวเลือกเพื่อระบุอาร์เรย์ที่เชื่อมโยง ถ้าให้ทั้งสองตัวเลือก -A
มีความสำคัญ NS อ่าน บิวอินยอมรับ a -a ตัวเลือกในการกำหนดรายการคำที่อ่าน
จากอินพุตมาตรฐานไปยังอาร์เรย์ NS ชุด และ ประกาศ builtins แสดงค่าอาร์เรย์ใน
วิธีที่ช่วยให้สามารถนำกลับมาใช้ใหม่ได้เป็นงานที่ได้รับมอบหมาย

ขยาย


การขยายจะดำเนินการบนบรรทัดคำสั่งหลังจากแยกเป็นคำแล้ว มี
ดำเนินการขยายเจ็ดประเภท: ทาบ การขยายตัว, ตัวหนอน การขยายตัว, พารามิเตอร์ และ
ตัวแปร การขยายตัว, คำสั่ง การแทน, คณิตศาสตร์ การขยายตัว, word รุนแรงและ
ชื่อพา ธ การขยายตัว.

ลำดับของการขยายคือ: การขยายรั้ง; การขยายตัวหนอน พารามิเตอร์ และตัวแปร
การขยาย การขยายเลขคณิต และการแทนที่คำสั่ง (ทำแบบซ้ายไปขวา
แฟชั่น); การแยกคำ; และการขยายชื่อพาธ

บนระบบที่สามารถรองรับได้ มีส่วนขยายเพิ่มเติม: กระบวนการ
การแทน. ดำเนินการพร้อมกันกับเครื่องหมายตัวหนอน พารามิเตอร์ ตัวแปร และ
การขยายเลขคณิตและการแทนที่คำสั่ง

เฉพาะการขยายวงเล็บปีกกา การแยกคำ และการขยายชื่อพาธเท่านั้นที่สามารถเปลี่ยนจำนวน
คำพูดของการขยาย; การขยายอื่น ๆ ขยายคำเดียวเป็นคำเดียว เพียง
ข้อยกเว้นคือส่วนขยายของ "$@"และ"${ชื่อ-" ตามที่อธิบายไว้ข้างต้น (ดู
พารามิเตอร์).

ทาบ การขยายตัว
ทาบ การขยายตัว เป็นกลไกที่อาจสร้างสตริงโดยพลการ นี้
กลไกคล้ายกับ ชื่อพา ธ การขยายตัวแต่ไม่จำเป็นต้องมีชื่อไฟล์ที่สร้างขึ้น
รูปแบบที่จะรั้งขยายอยู่ในรูปแบบของตัวเลือก คำนำตามด้วย a
ชุดของสตริงที่คั่นด้วยเครื่องหมายจุลภาคหรือนิพจน์ลำดับระหว่างวงเล็บปีกกา
ตามด้วยตัวเลือก คำลงท้าย. คำนำนำหน้าในแต่ละสตริงที่มีอยู่
ภายในวงเล็บปีกกา และต่อท้ายสคริปต์ต่อท้ายสตริงผลลัพธ์แต่ละอัน ขยาย
ซ้ายไปขวา

ส่วนขยายของวงเล็บปีกกาอาจซ้อนกัน ผลลัพธ์ของแต่ละสตริงที่ขยายจะไม่ถูกจัดเรียง ซ้าย
ตามลำดับที่ถูกต้องจะถูกรักษาไว้ ตัวอย่างเช่น{ง,ค,ข}e ขยายเป็น `ade ace abe'

นิพจน์ลำดับใช้รูปแบบ {x..y-รวม]}ที่นี่มี x และ y เป็นจำนวนเต็มหรือ
อักขระตัวเดียวและ รวมการเพิ่มขึ้นที่เลือกได้ คือจำนวนเต็ม เมื่อจำนวนเต็มคือ
ที่ให้มา นิพจน์ขยายไปยังแต่ละตัวเลขระหว่าง x และ yรวม. พร้อมส่ง
จำนวนเต็มอาจนำหน้าด้วย 0 เพื่อบังคับให้แต่ละเทอมมีความกว้างเท่ากัน เมื่อทั้ง x
or y เริ่มต้นด้วยศูนย์ เชลล์พยายามบังคับเงื่อนไขที่สร้างขึ้นทั้งหมดให้มี
จำนวนหลักเท่ากัน เติมศูนย์ในกรณีที่จำเป็น เมื่อมีการระบุตัวอักษร
นิพจน์ขยายไปยังอักขระแต่ละตัว lexicographically ระหว่าง x และ yรวมการใช้
โลแคล C เริ่มต้น โปรดทราบว่าทั้ง x และ y ต้องเป็นประเภทเดียวกัน เมื่อ
มีการเพิ่มขึ้น มันถูกใช้เป็นความแตกต่างระหว่างแต่ละเทอม ค่าเริ่มต้น
เพิ่มขึ้นเป็น 1 หรือ -1 ตามความเหมาะสม

การขยายรั้งจะดำเนินการก่อนการขยายอื่น ๆ และอักขระพิเศษใด ๆ
การขยายอื่น ๆ จะถูกเก็บไว้ในผลลัพธ์ มันเป็นข้อความอย่างเคร่งครัด ทุบตี ไม่
ใช้การตีความวากยสัมพันธ์กับบริบทของการขยายหรือข้อความระหว่าง
จัดฟัน

ส่วนขยายของเหล็กค้ำยันที่มีรูปแบบถูกต้องต้องมีเครื่องหมายวงเล็บเปิดและปิดที่ไม่มีเครื่องหมายอัญประกาศ และ
เครื่องหมายจุลภาคที่ไม่ได้ใส่เครื่องหมายอัญประกาศอย่างน้อยหนึ่งรายการหรือนิพจน์ลำดับที่ถูกต้อง วงเล็บปีกกาใด ๆ ที่ไม่ถูกต้อง
การขยายตัวไม่เปลี่ยนแปลง NS { or , อาจถูกยกมาด้วยแบ็กสแลชเพื่อป้องกันการเป็นอยู่
ถือว่าเป็นส่วนหนึ่งของนิพจน์วงเล็บปีกกา เพื่อหลีกเลี่ยงความขัดแย้งกับการขยายพารามิเตอร์
เชือก ${ ถือว่าไม่เข้าเกณฑ์การขยายค้ำยัน

โครงสร้างนี้มักใช้เป็นชวเลขเมื่อคำนำหน้าทั่วไปของสตริงเป็น
สร้างนั้นยาวกว่าในตัวอย่างข้างต้น:

mkdir /usr/local/src/bash/{เก่า ใหม่ dist ข้อบกพร่อง}
or
เชารูท /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

ส่วนขยาย Brace ทำให้เกิดความไม่ลงรอยกันเล็กน้อยกับ . เวอร์ชันประวัติศาสตร์ sh. sh
ไม่จัดฟันเปิดหรือปิดโดยเฉพาะเมื่อปรากฏเป็นส่วนหนึ่งของคำและ
เก็บรักษาไว้ในเอาต์พุต ทุบตี ถอดเหล็กจัดฟันออกจากคำอันเนื่องมาจากเครื่องหมายวงเล็บปีกกา
การขยาย. ตัวอย่างเช่น คำที่ป้อนไปยัง sh as ไฟล์{1,2} ปรากฏเหมือนกันใน
เอาท์พุท คำเดียวกันจะถูกส่งออกเป็น file1 file2 หลังจากขยายโดย ทุบตี. ถ้าเข้มงวด
เข้ากันได้กับ sh เป็นที่ต้องการ เริ่ม ทุบตี กับ +B ตัวเลือกหรือปิดใช้งานการขยายวงเล็บปีกกา
กับ +B ตัวเลือก ชุด คำสั่ง (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง)

ตัวหนอน การขยายตัว
หากคำขึ้นต้นด้วยอักขระตัวหนอนที่ไม่มีเครื่องหมายอัญประกาศ (`~') อักขระทั้งหมดที่อยู่ข้างหน้า
เครื่องหมายทับแรกที่ไม่มีเครื่องหมายอัญประกาศ (หรืออักขระทั้งหมด หากไม่มีเครื่องหมายทับที่ไม่ได้ใส่เครื่องหมายอัญประกาศ) จะถูกพิจารณา
a ตัวหนอนคำนำหน้า. หากไม่มีอักขระใดในเครื่องหมายตัวหนอนที่นำหน้า อักขระ
ในคำนำหน้าตัวหนอนตามเครื่องหมายตัวหนอนจะถือว่าเป็นไปได้ เข้าสู่ระบบ ชื่อ. ถ้านี้
ชื่อล็อกอินเป็นสตริงว่าง ตัวหนอนถูกแทนที่ด้วยค่าของพารามิเตอร์เชลล์
หน้าหลัก. ถ้า หน้าหลัก ไม่ได้ตั้งค่า โฮมไดเร็กทอรีของผู้ใช้ที่รันเชลล์จะถูกแทนที่
แทนที่. มิฉะนั้น คำนำหน้าตัวหนอนจะถูกแทนที่ด้วยโฮมไดเร็กทอรีที่เกี่ยวข้องกับ
ชื่อล็อกอินที่ระบุ

หากคำนำหน้าตัวหนอนเป็น `~+' ค่าของตัวแปรเชลล์ PWD แทนที่ตัวหนอน-
คำนำหน้า หากคำนำหน้าตัวหนอนเป็น `~-' ค่าของตัวแปรเชลล์ OLDPWD, ถ้ามันเป็น
ชุดถูกแทนที่ หากอักขระที่ตามหลังตัวหนอนในคำนำหน้าตัวหนอนประกอบด้วย
หมายเลข Nนำหน้าด้วย `+' หรือ `-' หรือไม่ก็ได้ คำนำหน้าตัวหนอนจะถูกแทนที่ด้วย
องค์ประกอบที่สอดคล้องกันจากไดเร็กทอรีสแต็ก ตามที่แสดงโดย dirs
builtin ถูกเรียกใช้ด้วยตัวหนอนนำหน้าเป็นอาร์กิวเมนต์ ถ้าตัวอักษรตามหลัง
ตัวหนอนในคำนำหน้าตัวหนอนประกอบด้วยตัวเลขที่ไม่มี `+' หรือ `-' นำหน้า `+' คือ
สันนิษฐาน

หากชื่อล็อกอินไม่ถูกต้อง หรือการขยายเครื่องหมายตัวหนอนล้มเหลว คำนั้นจะไม่เปลี่ยนแปลง

การกำหนดตัวแปรแต่ละรายการจะถูกตรวจสอบคำนำหน้าตัวหนอนที่ไม่ได้ใส่เครื่องหมายอัญประกาศทันทีตามหลัง a :
หรือครั้งแรก =. ในกรณีเหล่านี้ จะทำการขยายทิลเดอด้วย ด้วยเหตุนี้ บุคคลหนึ่งอาจ
ใช้ชื่อไฟล์ที่มีตัวหนอนในการมอบหมายให้ เส้นทาง, เมลพาธและ CDPATHและเปลือก
กำหนดค่าขยาย

พารามิเตอร์ การขยายตัว
`$' อักขระแนะนำการขยายพารามิเตอร์ การแทนที่คำสั่ง หรือเลขคณิต
การขยาย. ชื่อพารามิเตอร์หรือสัญลักษณ์ที่จะขยายอาจอยู่ในวงเล็บปีกกาซึ่ง
เป็นทางเลือกแต่ทำหน้าที่ป้องกันตัวแปรที่จะขยายจากตัวอักษรทันที
ตามมาซึ่งสามารถตีความได้ว่าเป็นส่วนหนึ่งของชื่อ

เมื่อใช้เหล็กจัดฟัน เหล็กค้ำยันที่เข้าชุดกันจะเป็น ` . ตัวแรก}' ไม่ได้หนีโดย
แบ็กสแลชหรือภายในสตริงที่ยกมา และไม่อยู่ภายในการขยายเลขคณิตแบบฝัง
การแทนที่คำสั่งหรือการขยายพารามิเตอร์

${พารามิเตอร์}
คุณค่าของ พารามิเตอร์ ถูกแทนที่ ต้องจัดฟันเมื่อ พารามิเตอร์ คือ
พารามิเตอร์ตำแหน่งที่มีมากกว่าหนึ่งหลักหรือเมื่อ พารามิเตอร์ ตามด้วย
อักขระที่ไม่ต้องตีความเป็นส่วนหนึ่งของชื่อ NS พารามิเตอร์ คือ
พารามิเตอร์เชลล์ตามที่อธิบายไว้ข้างต้น พารามิเตอร์) หรือการอ้างอิงอาร์เรย์ (อาร์เรย์).

ถ้าอักษรตัวแรกของ พารามิเตอร์ เป็นเครื่องหมายอัศเจรีย์ (!) แนะนำระดับของ
ตัวแปรทางอ้อม ทุบตี ใช้ค่าของตัวแปรที่เกิดขึ้นจากส่วนที่เหลือของ
พารามิเตอร์ เป็นชื่อของตัวแปร ตัวแปรนี้จะถูกขยายและค่านั้นคือ
ใช้ในส่วนที่เหลือของการทดแทน มากกว่าค่าของ พารามิเตอร์ ตัวเอง. นี่คือ
รู้จักกันในนาม ทางอ้อม การขยายตัว. ข้อยกเว้นคือส่วนขยายของ ${!อุปสรรค*} และ
${!ชื่อ[@]} อธิบายไว้ด้านล่าง. เครื่องหมายอัศเจรีย์ต้องตามวงเล็บปีกกาซ้ายทันที
เพื่อที่จะแนะนำทางอ้อม

ในแต่ละกรณีด้านล่าง word อาจมีการขยายตัวหนอน การขยายพารามิเตอร์
การแทนที่คำสั่งและการขยายเลขคณิต

เมื่อไม่ได้ทำการขยายสตริงย่อย โดยใช้แบบฟอร์มที่ระบุไว้ด้านล่าง (เช่น :-), ทุบตี
ทดสอบพารามิเตอร์ที่ไม่ได้ตั้งค่าหรือเป็นโมฆะ การละเว้นทวิภาคมีผลเป็นการทดสอบเท่านั้น
สำหรับพารามิเตอร์ที่ไม่ได้ตั้งค่า

${พารามิเตอร์:-word}
ใช้ ค่าเริ่มต้น ความคุ้มค่า. ถ้า พารามิเตอร์ ไม่ได้ตั้งค่าหรือเป็นโมฆะการขยายของ word is
แทนที่ มิฉะนั้น ค่าของ พารามิเตอร์ ถูกแทนที่
${พารามิเตอร์:=word}
กำหนด ค่าเริ่มต้น ความคุ้มค่า. ถ้า พารามิเตอร์ ไม่ได้ตั้งค่าหรือเป็นโมฆะการขยายของ word is
ได้รับมอบหมายให้ พารามิเตอร์. คุณค่าของ พารามิเตอร์ จะถูกแทนที่แล้ว ตำแหน่ง
พารามิเตอร์และพารามิเตอร์พิเศษไม่สามารถกำหนดด้วยวิธีนี้ได้
${พารามิเตอร์:?word}
แสดง ความผิดพลาด if โมฆะ or ยกเลิกการตั้งค่า. ถ้า พารามิเตอร์ เป็นโมฆะหรือไม่ได้ตั้งค่า การขยายตัวของ
word (หรือข้อความถึงผลนั้น if word ไม่อยู่) เขียนถึง
ข้อผิดพลาดมาตรฐานและเชลล์ หากไม่โต้ตอบ ให้ออกจากระบบ มิฉะนั้น
ค่าของ พารามิเตอร์ ถูกแทนที่
${พารามิเตอร์:+word}
ใช้ สลับกัน ความคุ้มค่า. ถ้า พารามิเตอร์ เป็นโมฆะหรือไม่ได้ตั้งค่า ไม่มีอะไรมาแทนที่
มิฉะนั้นการขยายตัวของ word ถูกแทนที่
${พารามิเตอร์:ชดเชย}
${พารามิเตอร์:ชดเชย:ความยาว}
สตริงย่อย การขยายตัว. ขยายได้ถึง ความยาว อักขระที่มีค่าของ พารามิเตอร์
เริ่มต้นที่อักขระที่กำหนดโดย ชดเชย. ถ้า พารามิเตอร์ is @, อาร์เรย์ที่จัดทำดัชนี
สมัครโดย @ or *หรือชื่ออาเรย์ที่เชื่อมโยง ผลลัพธ์ต่างกันเป็น
อธิบายไว้ด้านล่าง. ถ้า ความยาว ถูกละเว้น ขยายเป็นสตริงย่อยของค่าของ
พารามิเตอร์ เริ่มต้นที่อักขระที่กำหนดโดย ชดเชย และขยายไปจนสุดปลาย
มูลค่า. ความยาว และ ชดเชย เป็นนิพจน์ทางคณิตศาสตร์ (ดู เลขคณิต การประเมินผล
ด้านล่าง)

If ชดเชย ประเมินเป็นตัวเลขที่น้อยกว่าศูนย์ ค่านี้ใช้เป็นค่าชดเชยใน
อักขระจากจุดสิ้นสุดของค่าของ พารามิเตอร์. ถ้า ความยาว ประเมินเป็นตัวเลข
น้อยกว่าศูนย์ มันถูกตีความว่าเป็นออฟเซ็ตในอักขระจากจุดสิ้นสุดของ
ค่าของ พารามิเตอร์ มากกว่าจำนวนอักขระ และการขยายคือ
ตัวอักษรระหว่าง ชดเชย และผลลัพธ์นั้น โปรดทราบว่าค่าชดเชยเชิงลบจะต้องเป็น
แยกออกจากโคลอนอย่างน้อยหนึ่งช่องเพื่อหลีกเลี่ยงความสับสนกับ :-
การขยายตัว

If พารามิเตอร์ is @ผลลัพธ์คือ ความยาว พารามิเตอร์ตำแหน่งเริ่มต้นที่ ชดเชย.
เชิงลบ ชดเชย ถูกนำมาเทียบกับตำแหน่งที่มากกว่าตำแหน่งที่ยิ่งใหญ่ที่สุด
พารามิเตอร์ ดังนั้นออฟเซ็ตของ -1 จะประเมินเป็นพารามิเตอร์ตำแหน่งสุดท้าย มันเป็น
ข้อผิดพลาดในการขยายถ้า ความยาว ประเมินเป็นตัวเลขที่น้อยกว่าศูนย์

If พารามิเตอร์ เป็นชื่ออาร์เรย์ที่จัดทำดัชนีซึ่งถูกสะกดด้วย @ หรือ * ผลลัพธ์คือ
ความยาว สมาชิกของอาร์เรย์ที่ขึ้นต้นด้วย ${พารามิเตอร์[ชดเชย]}. เชิงลบ ชดเชย
สัมพันธ์กับดัชนีที่มากกว่าดัชนีสูงสุดของอาร์เรย์ที่ระบุ มัน
เป็นข้อผิดพลาดในการขยายหาก ความยาว ประเมินเป็นตัวเลขที่น้อยกว่าศูนย์

การขยายสตริงย่อยที่ใช้กับอาร์เรย์ที่เชื่อมโยงจะสร้างผลลัพธ์ที่ไม่ได้กำหนดไว้

การทำดัชนีสตริงย่อยเป็นแบบอิงศูนย์ เว้นแต่จะใช้พารามิเตอร์ตำแหน่ง in
ซึ่งกรณีที่การจัดทำดัชนีเริ่มต้นที่ 1 โดยค่าเริ่มต้น ถ้า ชดเชย คือ 0 และตำแหน่ง
ใช้พารามิเตอร์ $0 ถูกนำหน้าไปยังรายการ

${!อุปสรรค*}
${!อุปสรรค@}
ชื่อ การจับคู่ อุปสรรค. ขยายเป็นชื่อของตัวแปรที่มีชื่อขึ้นต้นด้วย
อุปสรรค, คั่นด้วยอักษรตัวแรกของ ไอเอฟเอ ตัวแปรพิเศษ เมื่อไหร่ @ is
ใช้และการขยายปรากฏขึ้นภายในเครื่องหมายคำพูดคู่ แต่ละชื่อตัวแปรจะขยายเป็น
คำที่แยกจากกัน

${!ชื่อ[@]}
${!ชื่อ[*]}
รายการ of แถว กุญแจ. ถ้า ชื่อ เป็นตัวแปรอาร์เรย์ ขยายไปยังรายการของ array
ดัชนี (คีย์) ที่ได้รับมอบหมายใน ชื่อ. ถ้า ชื่อ ไม่ใช่อาร์เรย์ ขยายเป็น 0 if ชื่อ is
set และ null เป็นอย่างอื่น เมื่อไหร่ @ ถูกใช้และการขยายปรากฏขึ้นภายใน double
เครื่องหมายคำพูด แต่ละคีย์จะขยายเป็นคำที่แยกจากกัน

${#พารามิเตอร์}
พารามิเตอร์ ความยาว. ความยาวเป็นอักขระของค่าของ พารามิเตอร์ is
แทนที่ ถ้า พารามิเตอร์ is * or @, ค่าที่แทนที่คือจำนวน
พารามิเตอร์ตำแหน่ง ถ้า พารามิเตอร์ เป็นชื่ออาร์เรย์ที่ห้อยลงโดย * or @ที่
ค่าทดแทนคือจำนวนขององค์ประกอบในอาร์เรย์ ถ้า พารามิเตอร์ เป็น
ชื่ออาร์เรย์ที่จัดทำดัชนีถูกห้อยด้วยจำนวนลบ ตัวเลขนั้นจะถูกตีความว่าเป็น
เทียบกับดัชนีสูงสุดของ พารามิเตอร์, ดัชนีเชิงลบมาก
นับถอยหลังจากจุดสิ้นสุดของอาร์เรย์ และดัชนี -1 จะอ้างอิงค่าสุดท้าย
ธาตุ.

${พารามิเตอร์#word}
${พารามิเตอร์##word}
ลบรายการออกจากรถเข็น การจับคู่ อุปสรรค Belt hold . word ถูกขยายจนเกิดเป็นลวดลายเหมือน
ในการขยายชื่อพาธ หากรูปแบบตรงกับจุดเริ่มต้นของค่าของ
พารามิเตอร์แล้วผลของการขยายคือค่าขยายของ พารามิเตอร์ กับ
รูปแบบการจับคู่ที่สั้นที่สุด (ตัว ``#'' case) หรือรูปแบบการจับคู่ที่ยาวที่สุด (the
``##'' กรณี) ถูกลบ ถ้า พารามิเตอร์ is @ or *, การดำเนินการลบรูปแบบคือ
นำไปใช้กับแต่ละพารามิเตอร์ตำแหน่งในทางกลับกันและการขยายตัวเป็นผล
รายการ. ถ้า พารามิเตอร์ เป็นตัวแปรอาร์เรย์ที่ห้อยลงด้วย @ or *, รูปแบบ
การดำเนินการลบจะถูกนำไปใช้กับสมาชิกของอาร์เรย์แต่ละคนในทางกลับกันและการขยาย
เป็นรายการผลลัพธ์

${พารามิเตอร์%word}
${พารามิเตอร์%%word}
ลบรายการออกจากรถเข็น การจับคู่ วิภัตติ Belt hold . word ถูกขยายจนเกิดเป็นลวดลายเหมือน
ในการขยายชื่อพาธ หากรูปแบบตรงกับส่วนต่อท้ายของส่วนขยาย
ค่าของ พารามิเตอร์แล้วผลของการขยายคือค่าขยายของ
พารามิเตอร์ ด้วยรูปแบบการจับคู่ที่สั้นที่สุด (ตัว ``%'' case) หรือยาวที่สุด
รูปแบบการจับคู่ (``%%'' กรณี) ถูกลบ ถ้า พารามิเตอร์ is @ or *, รูปแบบ
การดำเนินการกำจัดจะถูกนำไปใช้กับพารามิเตอร์ตำแหน่งแต่ละตัวในทางกลับกันและ
การขยายตัวเป็นรายการผลลัพธ์ ถ้า พารามิเตอร์ เป็นตัวแปรอาร์เรย์ที่ห้อยลง
กับ @ or *, การดำเนินการลบรูปแบบจะถูกนำไปใช้กับสมาชิกแต่ละคนของอาร์เรย์
ในทางกลับกันและการขยายตัวเป็นรายการผลลัพธ์

${พารามิเตอร์/Belt hold /เชือก}
แบบแผน การแทน. Belt hold ถูกขยายเพื่อสร้างลวดลายเช่นเดียวกับใน
การขยายชื่อพาธ พารามิเตอร์ ถูกขยายและจับคู่ที่ยาวที่สุดของ Belt hold กับ
ค่าของมันจะถูกแทนที่ด้วย เชือก. ถ้า Belt hold เริ่มต้นด้วย /, แมตช์ทั้งหมดของ
Belt hold ถูกแทนที่ด้วย เชือก. โดยปกติจะมีการเปลี่ยนเฉพาะนัดแรกเท่านั้น ถ้า
Belt hold เริ่มต้นด้วย #จะต้องตรงกันที่จุดเริ่มต้นของค่าที่ขยายของ
พารามิเตอร์. ถ้า Belt hold เริ่มต้นด้วย %, จะต้องตรงกับส่วนท้ายของส่วนขยาย
ค่าของ พารามิเตอร์. ถ้า เชือก เป็นโมฆะ, รายการที่ตรงกันของ Belt hold ถูกลบและ /
ดังต่อไปนี้ Belt hold อาจถูกละเว้น ถ้า พารามิเตอร์ is @ or *, การทดแทน
การดำเนินการจะถูกนำไปใช้กับแต่ละพารามิเตอร์ตำแหน่งในทางกลับกัน และการขยายคือ
รายการผลลัพธ์ ถ้า พารามิเตอร์ เป็นตัวแปรอาร์เรย์ที่ห้อยลงด้วย @ or *ที่
การดำเนินการทดแทนจะถูกนำไปใช้กับสมาชิกแต่ละคนของอาร์เรย์ในทางกลับกันและ
การขยายตัวเป็นรายการผลลัพธ์

${พารามิเตอร์^Belt hold }
${พารามิเตอร์^^Belt hold }
${พารามิเตอร์,Belt hold }
${พารามิเตอร์,,Belt hold }
กรณี การดัดแปลง. การขยายนี้แก้ไขกรณีของตัวอักษรใน
พารามิเตอร์. Belt hold ถูกขยายเพื่อสร้างรูปแบบเช่นเดียวกับในชื่อเส้นทาง
การขยาย. อักขระแต่ละตัวในค่าขยายของ พารามิเตอร์ ได้รับการทดสอบกับ
Belt hold และหากตรงกับรูปแบบ ตัวพิมพ์จะถูกแปลง รูปแบบควร
ไม่พยายามจับคู่อักขระมากกว่าหนึ่งตัว NS ^ ตัวดำเนินการแปลงตัวพิมพ์เล็ก
การจับคู่ตัวอักษร Belt hold เป็นตัวพิมพ์ใหญ่ NS , ตัวดำเนินการแปลงตัวพิมพ์ใหญ่ที่ตรงกัน
ตัวอักษรเป็นตัวพิมพ์เล็ก NS ^^ และ ,, การขยายจะแปลงอักขระที่ตรงกันแต่ละตัวใน
มูลค่าที่เพิ่มขึ้น; NS ^ และ , ส่วนขยายจะจับคู่และแปลงเฉพาะส่วนแรกเท่านั้น
อักขระในค่าที่ขยาย ถ้า Belt hold ละเว้น ปฏิบัติเหมือน ?,
ซึ่งตรงกับทุกตัวอักษร ถ้า พารามิเตอร์ is @ or *, การปรับเปลี่ยนเคส
การดำเนินการจะถูกนำไปใช้กับแต่ละพารามิเตอร์ตำแหน่งในทางกลับกัน และการขยายคือ
รายการผลลัพธ์ ถ้า พารามิเตอร์ เป็นตัวแปรอาร์เรย์ที่ห้อยลงด้วย @ or *ที่
การดำเนินการแก้ไขกรณีจะถูกนำไปใช้กับสมาชิกของอาร์เรย์แต่ละคนในทางกลับกันและ
การขยายตัวเป็นรายการผลลัพธ์

คำสั่ง การแทน
คำสั่ง การแทน อนุญาตให้เอาต์พุตของคำสั่งแทนที่ชื่อคำสั่ง ที่นั่น
เป็นสองรูปแบบ:

$(คำสั่ง)
or
`คำสั่ง`

ทุบตี ดำเนินการขยายโดยดำเนินการ คำสั่ง และแทนที่การทดแทนคำสั่ง
ด้วยเอาต์พุตมาตรฐานของคำสั่ง โดยลบการขึ้นบรรทัดใหม่ต่อท้าย ฝังตัว
การขึ้นบรรทัดใหม่จะไม่ถูกลบ แต่อาจถูกลบระหว่างการแยกคำ คำสั่ง
การแทน $(แมว ไฟล์) แทนกันได้ แต่เร็วกว่า $( ไฟล์).

เมื่อใช้รูปแบบการแทนที่แบบ backquote แบบเก่า แบ็กสแลชจะคงตัวอักษรไว้
ความหมายยกเว้นเมื่อตามด้วย $, `,หรือ \. backquote แรกไม่ได้นำหน้าด้วย a
แบ็กสแลชยุติการแทนที่คำสั่ง เมื่อใช้ $(คำสั่ง) แบบฟอร์มทั้งหมด
อักขระระหว่างวงเล็บประกอบเป็นคำสั่ง ไม่มีใครได้รับการปฏิบัติเป็นพิเศษ

การแทนที่คำสั่งอาจซ้อนกัน หากต้องการซ้อนเมื่อใช้แบบฟอร์ม backquoted ให้หลีกเลี่ยง
backquotes ภายในพร้อมแบ็กสแลช

หากการแทนที่ปรากฏในเครื่องหมายคำพูดคู่ การแยกคำ และการขยายชื่อพาธ
ไม่ได้ดำเนินการกับผลลัพธ์

คณิตศาสตร์ การขยายตัว
การขยายเลขคณิตช่วยให้สามารถประเมินนิพจน์เลขคณิตและ
การทดแทนผลลัพธ์ รูปแบบการขยายเลขคณิตคือ:

-การแสดงออก))

แบบเก่า $[การแสดงออก] เลิกใช้แล้วและจะถูกลบออกในเวอร์ชันต่อๆ ไปของ
ทุบตี.

พื้นที่ การแสดงออก จะถือว่าอยู่ในเครื่องหมายคำพูดคู่ แต่เครื่องหมายคำพูดคู่อยู่ภายใน
วงเล็บจะไม่ได้รับการปฏิบัติเป็นพิเศษ โทเค็นทั้งหมดในนิพจน์ได้รับพารามิเตอร์
และการขยายตัวแปร การแทนที่คำสั่ง และการลบคำพูด ผลลัพธ์จะถือว่าเป็น
นิพจน์เลขคณิตที่จะประเมิน การขยายเลขคณิตอาจซ้อนกัน

การประเมินจะดำเนินการตามกฎที่ระบุไว้ด้านล่างภายใต้ เลขคณิต
การประเมินผล. ถ้า การแสดงออก ไม่ถูกต้อง ทุบตี พิมพ์ข้อความระบุความล้มเหลวและ no
การทดแทนเกิดขึ้น

กระบวนการ การแทน
กระบวนการ การแทน ได้รับการสนับสนุนบนระบบที่รองรับการตั้งชื่อไปป์ (FIFO) หรือ
/dev/fd วิธีการตั้งชื่อไฟล์ที่เปิดอยู่ มันอยู่ในรูปของ <(รายการ) or >(รายการ).
กระบวนการ รายการ ทำงานด้วยอินพุตหรือเอาต์พุตที่เชื่อมต่อกับa FIFO หรือไฟล์บางไฟล์ใน /dev/fd.
ชื่อของไฟล์นี้ถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังคำสั่งปัจจุบันอันเป็นผลมาจาก
การขยาย. ถ้า >(รายการ) ใช้แบบฟอร์มการเขียนลงในไฟล์จะให้อินพุตสำหรับ รายการ.
ถ้า <(รายการ) ใช้รูปแบบไฟล์ที่ส่งผ่านเป็นอาร์กิวเมนต์ควรอ่านเพื่อรับ
เอาต์พุตของ รายการ.

หากมี การแทนที่กระบวนการจะดำเนินการพร้อมกันด้วยพารามิเตอร์และ
การขยายตัวแปร การแทนที่คำสั่ง และการขยายเลขคณิต

คำ รุนแรง
เชลล์สแกนผลลัพธ์ของการขยายพารามิเตอร์ การแทนที่คำสั่ง และเลขคณิต
การขยายตัวที่ไม่ได้เกิดขึ้นภายในเครื่องหมายคำพูดคู่สำหรับ word รุนแรง.

เปลือกปฏิบัติต่ออักขระแต่ละตัวของ ไอเอฟเอ เป็นตัวคั่นและแยกผลลัพธ์ของผู้อื่น
การขยายคำโดยใช้อักขระเหล่านี้เป็นตัวยุติฟิลด์ ถ้า ไอเอฟเอ ไม่ได้ตั้งค่าหรือ
ค่าของมันก็คือ ค่าเริ่มต้นแล้วลำดับของ , ,
และ ที่จุดเริ่มต้นและจุดสิ้นสุดของผลของการขยายครั้งก่อนคือ
ละเว้นและลำดับใด ๆ ของ ไอเอฟเอ อักขระที่ไม่ได้อยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดทำหน้าที่กำหนดเขต
คำ. ถ้า ไอเอฟเอ มีค่าอื่นที่ไม่ใช่ค่าดีฟอลต์ แล้วลำดับของช่องว่าง
อักขระ ช่องว่าง และ แถบ จะถูกละเว้นที่จุดเริ่มต้นและจุดสิ้นสุดของคำ ตราบใดที่
อักขระช่องว่างอยู่ในค่าของ ไอเอฟเอ (เป็น ไอเอฟเอ อักขระช่องว่าง) ตัวอักษรใดก็ได้
in ไอเอฟเอ นั่นไม่ใช่ ไอเอฟเอ ช่องว่างพร้อมกับที่อยู่ติดกัน ไอเอฟเอ อักขระช่องว่าง
กำหนดเขต ลำดับของ ไอเอฟเอ อักขระช่องว่างยังถือเป็นตัวคั่นด้วย
ถ้าค่าของ ไอเอฟเอ เป็นโมฆะ ไม่มีการแตกคำเกิดขึ้น

อาร์กิวเมนต์ null ที่ชัดเจน ("" or '') จะถูกเก็บไว้ อาร์กิวเมนต์ null โดยนัยที่ไม่ได้ใส่เครื่องหมายคำพูด
อันเป็นผลมาจากการขยายตัวของพารามิเตอร์ที่ไม่มีค่าจะถูกลบออก ถ้า
พารามิเตอร์ที่ไม่มีค่าถูกขยายภายในเครื่องหมายคำพูดคู่ ผลลัพธ์อาร์กิวเมนต์ null และ is
เก็บไว้

โปรดทราบว่าหากไม่มีการขยาย จะไม่มีการแยก

ชื่อพาธ การขยายตัว
หลังจากแยกคำแล้ว เว้นแต่ -f ตั้งค่าตัวเลือกแล้ว ทุบตี สแกนแต่ละคำสำหรับ
อักขระ *, ?และ [. หากอักขระตัวใดตัวหนึ่งปรากฏขึ้น คำว่า
a Belt hold และแทนที่ด้วยรายการชื่อไฟล์ที่เรียงตามตัวอักษรที่ตรงกับ
แบบแผน (ดู แบบแผน แม็ทชิ่ง ด้านล่าง). หากไม่พบชื่อไฟล์ที่ตรงกัน และเชลล์
ตัวเลือก nullglob ไม่ได้เปิดใช้งาน คำจะไม่เปลี่ยนแปลง ถ้า nullglob ตัวเลือกที่
ตั้งไว้และไม่พบรายการที่ตรงกัน คำนั้นจะถูกลบออก ถ้า ล้มเหลว ตั้งค่าตัวเลือกเชลล์
และไม่พบรายการที่ตรงกัน มีการพิมพ์ข้อความแสดงข้อผิดพลาดและไม่ได้ดำเนินการคำสั่ง ถ้า
ตัวเลือกเปลือก โนเคสโกล เปิดใช้งาน การจับคู่จะดำเนินการโดยไม่คำนึงถึงกรณี
ของตัวอักษร โปรดทราบว่าเมื่อใช้นิพจน์ช่วง เช่น [az] (ดูด้านล่าง)
อาจรวมตัวอักษรของอีกกรณีหนึ่งด้วยขึ้นอยู่กับการตั้งค่าของ LC_COLLATE เมื่อ
รูปแบบที่ใช้สำหรับการขยายชื่อพาธ, character ``.'' ที่จุดเริ่มต้นของชื่อหรือ
ต้องจับคู่ตามเครื่องหมายทับทันที เว้นแต่เชลล์ option ดอทโกล
ถูกตั้งค่า เมื่อจับคู่ชื่อพาธ อักขระสแลชจะต้องจับคู่อย่างชัดเจนเสมอ
ในกรณีอื่น ๆ ไฟล์ ``.'' ตัวละครไม่ได้รับการปฏิบัติเป็นพิเศษ ดูคำอธิบายของ
ช๊อปปิ้ง ด้านล่างใต้ SHELL สร้างขึ้น คำสั่ง สำหรับคำอธิบายของ โนเคสโกล, nullglob,
ล้มเหลวและ ดอทโกล ตัวเลือกเชลล์

พื้นที่ โกลบิกนอร์ ตัวแปรเชลล์อาจถูกใช้เพื่อจำกัดชุดของชื่อไฟล์ที่ตรงกัน a
Belt hold . ถ้า โกลบิกนอร์ ถูกตั้งค่า แต่ละชื่อไฟล์ที่ตรงกันซึ่งตรงกับหนึ่งใน
รูปแบบใน โกลบิกนอร์ จะถูกลบออกจากรายการการแข่งขัน ชื่อไฟล์ ``.'' และ
``..'' จะถูกละเลยเสมอเมื่อ โกลบิกนอร์ ถูกตั้งค่าและไม่เป็นโมฆะ อย่างไรก็ตามการตั้งค่า
โกลบิกนอร์ เป็นค่าที่ไม่ใช่ค่าว่างมีผลทำให้ ดอทโกล ตัวเลือกเชลล์ ดังนั้นทั้งหมด
ชื่อไฟล์อื่นๆ ที่ขึ้นต้นด้วย a ``.'' จะจับคู่ เพื่อให้ได้พฤติกรรมเก่าของการเพิกเฉย
ชื่อไฟล์ที่ขึ้นต้นด้วย a ``.'', ทำ ``.*'' หนึ่งในรูปแบบใน โกลบิกนอร์.
ดอทโกล ตัวเลือกถูกปิดใช้งานเมื่อ โกลบิกนอร์ ไม่ได้ตั้งค่า

แบบแผน แม็ทชิ่ง

อักขระใด ๆ ที่ปรากฏในรูปแบบอื่นที่ไม่ใช่อักขระรูปแบบพิเศษ
อธิบายไว้ด้านล่างตรงกับตัวมันเอง อักขระ NUL อาจไม่ปรากฏในรูปแบบ NS
แบ็กสแลชหลีกอักขระต่อไปนี้ แบ็กสแลชที่หลบหนีจะถูกยกเลิกเมื่อ
การจับคู่ ต้องระบุอักขระรูปแบบพิเศษหากต้องการจับคู่
อย่างแท้จริง

อักขระรูปแบบพิเศษมีความหมายดังต่อไปนี้:

* จับคู่สตริงใดๆ รวมถึงสตริงว่าง เมื่อ โกลบอลสตาร์ เปลือก
เปิดใช้งานตัวเลือกและ * ใช้ในบริบทการขยายชื่อพาธ two
ติดกัน *ที่ใช้เป็นรูปแบบเดียวจะจับคู่ไฟล์ทั้งหมดและมีค่าเป็นศูนย์หรือมากกว่า
ไดเร็กทอรีและไดเร็กทอรีย่อย ถ้าตามด้วย /, สองที่อยู่ติดกัน *จะ
จับคู่เฉพาะไดเร็กทอรีและไดเร็กทอรีย่อย
? ตรงกับอักขระตัวเดียว
[ ... ] ตรงกับอักขระที่ล้อมรอบตัวใดตัวหนึ่ง อักขระคู่ที่แยกจากกัน
โดยยัติภังค์หมายถึง a พิสัย การแสดงออก; ตัวอักษรใด ๆ ที่อยู่ระหว่าง
อักขระสองตัวนั้น รวม โดยใช้การเรียงของโลแคลปัจจุบัน
ลำดับและชุดอักขระตรงกัน ถ้าตัวอักษรตัวแรกตามหลัง
[ คือ ! หรือ ^ อักขระใด ๆ ที่ไม่ได้ปิดไว้จะถูกจับคู่ NS
การเรียงลำดับอักขระในนิพจน์ช่วงถูกกำหนดโดย
สถานที่ปัจจุบันและค่าของ LC_COLLATE or LC_ALL ตัวแปรเชลล์
ถ้าตั้ง. เพื่อให้ได้การตีความแบบดั้งเดิมของนิพจน์ช่วง
ที่ไหน [โฆษณา] เทียบเท่ากับ [เอบีซีดี], ตั้งค่าของ LC_ALL ตัวแปรเชลล์
ไปยัง Cหรือเปิดใช้งาน ลูกโลก ตัวเลือกเชลล์ NS - อาจจับคู่โดย
รวมทั้งเป็นอักขระตัวแรกหรือตัวสุดท้ายในชุด NS ] อาจจะเข้ากัน
โดยรวมเป็นตัวละครตัวแรกในชุด

ภายใน [ และ ], ตัวอักษร ชั้นเรียน สามารถระบุได้โดยใช้ไวยากรณ์
[:ชั้น:]ที่นี่มี ชั้น เป็นหนึ่งในคลาสต่อไปนี้ที่กำหนดไว้ใน POSIX
มาตรฐาน:
ศิษย์เก่า แอลฟา ASCII ว่างเปล่า ctrl เลข กราฟ ลด พิมพ์ จุด ช่องว่าง บน word
xdigit
คลาสอักขระตรงกับอักขระที่เป็นของคลาสนั้น NS word
คลาสอักขระจับคู่ตัวอักษร ตัวเลข และอักขระ _

ภายใน [ และ ], ความเท่าเทียมกัน ชั้น สามารถระบุได้โดยใช้ไวยากรณ์
[=c=]ซึ่งจับคู่อักขระทั้งหมดที่มีน้ำหนักการเรียงเท่ากัน (as
กำหนดโดยสถานที่ปัจจุบัน) เป็นตัวอักษร c.

ภายใน [ และ ], ไวยากรณ์ [.เครื่องหมาย.] ตรงกับสัญลักษณ์การเรียง เครื่องหมาย.

ถ้า ภายนอก เปิดใช้งานตัวเลือกเชลล์โดยใช้คำสั่ง ช๊อปปิ้ง builtin ขยายหลายรูปแบบ
ตัวดำเนินการที่ตรงกันได้รับการยอมรับ ในคำอธิบายต่อไปนี้ a รูปแบบรายการ เป็นรายการ
ของรูปแบบตั้งแต่หนึ่งรูปแบบขึ้นไปคั่นด้วย a |. รูปแบบคอมโพสิตอาจเกิดขึ้นได้โดยใช้หนึ่งหรือ
รูปแบบย่อยเพิ่มเติมดังต่อไปนี้:

?(รูปแบบรายการ)
จับคู่รูปแบบที่กำหนดศูนย์หรือหนึ่งรายการ
*(รูปแบบรายการ)
จับคู่รูปแบบที่กำหนดเป็นศูนย์หรือมากกว่านั้น
+(รูปแบบรายการ)
จับคู่รูปแบบที่กำหนดอย่างน้อยหนึ่งรายการ
@(รูปแบบรายการ)
ตรงกับรูปแบบที่กำหนด
!(รูปแบบรายการ)
จับคู่อะไรก็ได้ยกเว้นรูปแบบที่กำหนด

อ้างอิง การถอดถอน
หลังจากการขยายก่อนหน้านี้ ตัวละครทั้งหมดที่ไม่ได้ใส่เครื่องหมายคำพูด \, 'และ "
ที่ไม่ได้เป็นผลมาจากการขยายใด ๆ ข้างต้นจะถูกลบออก

เปลี่ยนเส้นทาง


ก่อนดำเนินการคำสั่ง อินพุตและเอาต์พุตอาจเป็น เปลี่ยนเส้นทาง ใช้พิเศษ
สัญกรณ์ตีความโดยเชลล์ การเปลี่ยนเส้นทางช่วยให้การจัดการไฟล์ของคำสั่งเป็น
ซ้ำ เปิด ปิด ทำขึ้นเพื่ออ้างถึงไฟล์ต่าง ๆ และสามารถเปลี่ยนไฟล์ได้
คำสั่งอ่านจากและเขียนถึง การเปลี่ยนเส้นทางอาจใช้เพื่อแก้ไขตัวจัดการไฟล์ใน
สภาพแวดล้อมการดำเนินการเชลล์ปัจจุบัน ตัวดำเนินการเปลี่ยนเส้นทางต่อไปนี้อาจนำหน้า
หรือปรากฏที่ใดก็ได้ภายใน a ง่าย คำสั่ง หรืออาจปฏิบัติตาม คำสั่ง. การเปลี่ยนเส้นทางคือ
ดำเนินการตามลำดับที่ปรากฏ จากซ้ายไปขวา

การเปลี่ยนเส้นทางแต่ละครั้งที่อาจนำหน้าด้วยหมายเลขตัวอธิบายไฟล์อาจถูกนำหน้าแทน
โดยคำในรูปแบบ {นามสกุล}. ในกรณีนี้ สำหรับแต่ละโอเปอเรเตอร์การเปลี่ยนเส้นทาง ยกเว้น >&-
และ <&- เชลล์จะจัดสรร file descriptor ที่มากกว่าหรือเท่ากับ 10 และ assign
ไปให้ นามสกุล. ถ้า >&- หรือ <&- นำหน้าด้วย {นามสกุล}, คุณค่าของ นามสกุล กำหนด
file descriptor เพื่อปิด

ในคำอธิบายต่อไปนี้ หากไม่ระบุ file descriptor number และตัวแรก
อักขระของตัวดำเนินการเปลี่ยนเส้นทางคือ <, การเปลี่ยนเส้นทางหมายถึงอินพุตมาตรฐาน
(คำอธิบายไฟล์ 0). หากอักขระตัวแรกของตัวดำเนินการเปลี่ยนเส้นทางคือ >ที่
การเปลี่ยนเส้นทางหมายถึงเอาต์พุตมาตรฐาน (ตัวอธิบายไฟล์ 1)

คำที่ตามหลังตัวดำเนินการเปลี่ยนเส้นทางในคำอธิบายต่อไปนี้ เว้นแต่
ระบุไว้เป็นอย่างอื่น ขึ้นอยู่กับการขยายวงเล็บปีกกา การขยายตัวหนอน พารามิเตอร์และตัวแปร
การขยาย, การแทนที่คำสั่ง, การขยายเลขคณิต, การลบใบเสนอราคา, การขยายชื่อพาธ,
และการแยกคำ หากขยายออกไปมากกว่าหนึ่งคำ ทุบตี รายงานข้อผิดพลาด

โปรดทราบว่าลำดับของการเปลี่ยนเส้นทางมีความสำคัญ ตัวอย่างเช่น คำสั่ง

ls > ไดร์ลิสต์ 2>&1

นำทั้งเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานไปยังไฟล์ ไดร์ลิสต์ในขณะที่คำสั่ง

2>&1 > ไดร์ลิสต์

นำเฉพาะเอาต์พุตมาตรฐานไปยัง file ไดร์ลิสต์เพราะข้อผิดพลาดมาตรฐานคือ
ทำซ้ำจากเอาต์พุตมาตรฐานก่อนที่เอาต์พุตมาตรฐานจะถูกเปลี่ยนเส้นทางไปที่ ไดร์ลิสต์.

ทุบตี จัดการชื่อไฟล์หลายชื่อโดยเฉพาะเมื่อใช้ในการเปลี่ยนเส้นทางตามที่อธิบายไว้
ในตารางต่อไปนี้:

/dev/fd/fd
If fd เป็นจำนวนเต็มที่ถูกต้อง file descriptor fd ถูกทำซ้ำ
/dev/stdin
ตัวอธิบายไฟล์ 0 ซ้ำกัน
/dev/stdout
ตัวอธิบายไฟล์ 1 ซ้ำกัน
/dev/stderr
ตัวอธิบายไฟล์ 2 ซ้ำกัน
/dev/tcp/เจ้าภาพ/พอร์ต
If เจ้าภาพ เป็นชื่อโฮสต์หรือที่อยู่อินเทอร์เน็ตที่ถูกต้อง และ พอร์ต เป็นพอร์ตจำนวนเต็ม
หมายเลขหรือชื่อบริการ ทุบตี พยายามเปิดซ็อกเก็ต TCP ที่เกี่ยวข้อง
/dev/udp/เจ้าภาพ/พอร์ต
If เจ้าภาพ เป็นชื่อโฮสต์หรือที่อยู่อินเทอร์เน็ตที่ถูกต้อง และ พอร์ต เป็นพอร์ตจำนวนเต็ม
หมายเลขหรือชื่อบริการ ทุบตี พยายามเปิดซ็อกเก็ต UDP ที่เกี่ยวข้อง

ความล้มเหลวในการเปิดหรือสร้างไฟล์ทำให้การเปลี่ยนเส้นทางล้มเหลว

การเปลี่ยนเส้นทางโดยใช้ตัวอธิบายไฟล์ที่มากกว่า 9 ควรใช้ด้วยความระมัดระวัง เนื่องจากอาจ
ขัดแย้งกับตัวอธิบายไฟล์ที่เชลล์ใช้ภายใน

โปรดทราบว่า exec คำสั่งในตัวสามารถทำให้การเปลี่ยนเส้นทางมีผลในเชลล์ปัจจุบัน

กำลังเปลี่ยนเส้นทาง อินพุต
การเปลี่ยนเส้นทางของอินพุตทำให้ไฟล์ที่มีชื่อเป็นผลมาจากการขยายของ word ที่จะ
เปิดให้อ่านใน file descriptor nหรืออินพุตมาตรฐาน (file descriptor 0) if n is
ไม่ได้ระบุ

รูปแบบทั่วไปสำหรับการเปลี่ยนเส้นทางอินพุตคือ:

[n]<word

กำลังเปลี่ยนเส้นทาง เอาท์พุต
การเปลี่ยนเส้นทางของเอาต์พุตทำให้ไฟล์ที่มีชื่อเป็นผลมาจากการขยายของ word ที่จะ
เปิดให้เขียน file descriptor nหรือเอาต์พุตมาตรฐาน (file descriptor 1) if n
ไม่ได้ระบุไว้ หากไม่มีไฟล์ ไฟล์จะถูกสร้างขึ้น ถ้ามันมีอยู่จริงก็คือ
ตัดทอนเป็นศูนย์ขนาด

รูปแบบทั่วไปสำหรับการเปลี่ยนเส้นทางเอาต์พุตคือ:

[n]>word

หากตัวดำเนินการเปลี่ยนเส้นทางคือ >และ โนคลอบเบอร์ ตัวเลือก ชุด บิวอินได้รับ
เปิดใช้งาน การเปลี่ยนเส้นทางจะล้มเหลวหากไฟล์ที่มีชื่อเป็นผลมาจากการขยายของ
word มีอยู่และเป็นไฟล์ปกติ หากตัวดำเนินการเปลี่ยนเส้นทางคือ >|หรือการเปลี่ยนเส้นทาง
โอเปอเรเตอร์ is > และ โนคลอบเบอร์ ตัวเลือก ชุด คำสั่ง builtin ไม่ได้เปิดใช้งาน the
พยายามเปลี่ยนเส้นทางแม้ว่าไฟล์ที่ชื่อโดย word ที่มีอยู่

ต่อท้าย เปลี่ยนเส้นทาง เอาท์พุต
การเปลี่ยนเส้นทางของเอาต์พุตในลักษณะนี้ทำให้ไฟล์ที่มีชื่อเป็นผลมาจาก
การขยายตัวของ word ที่จะเปิดให้ต่อท้าย file descriptor nหรือเอาต์พุตมาตรฐาน
(ไฟล์อธิบาย 1) if n ไม่ได้ระบุไว้ หากไม่มีไฟล์ ไฟล์จะถูกสร้างขึ้น

รูปแบบทั่วไปสำหรับการผนวกเอาท์พุตคือ:

[n]>>word

กำลังเปลี่ยนเส้นทาง Standard เอาท์พุต และ Standard ความผิดพลาด
โครงสร้างนี้อนุญาตทั้งเอาต์พุตมาตรฐาน (ตัวอธิบายไฟล์ 1) และข้อผิดพลาดมาตรฐาน
เอาต์พุต (file descriptor 2) จะถูกเปลี่ยนเส้นทางไปยังไฟล์ที่มีชื่อเป็นส่วนขยายของ
word.

มีสองรูปแบบสำหรับการเปลี่ยนเส้นทางเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐาน:

&>word
และ
>&word

จากทั้งสองรูปแบบ อันแรกเป็นที่ต้องการ นี่มีความหมายเทียบเท่ากับ

>word 2>&1

เมื่อใช้แบบฟอร์มที่สอง word ไม่อาจขยายเป็นตัวเลขหรือ -. ถ้าเป็นเช่นนั้น อื่นๆ
ใช้ตัวดำเนินการเปลี่ยนเส้นทาง (ดู การทำสำเนา เนื้อไม่มีมัน อธิบาย ด้านล่าง) สำหรับความเข้ากันได้
เหตุผล

ต่อท้าย Standard เอาท์พุต และ Standard ความผิดพลาด
โครงสร้างนี้อนุญาตทั้งเอาต์พุตมาตรฐาน (ตัวอธิบายไฟล์ 1) และข้อผิดพลาดมาตรฐาน
เอาต์พุต (file descriptor 2) ต่อท้ายไฟล์ที่มีชื่อเป็นส่วนขยายของ word.

รูปแบบสำหรับการต่อท้ายเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานคือ:

&>>word

นี่มีความหมายเทียบเท่ากับ

>>word 2>&1

(ดู การทำสำเนา เนื้อไม่มีมัน อธิบาย ด้านล่าง)

Here เอกสาร
การเปลี่ยนเส้นทางประเภทนี้สั่งให้เชลล์อ่านอินพุตจากแหล่งปัจจุบันจนถึง a
บรรทัดที่มีเท่านั้น ตัวคั่น (โดยไม่มีช่องว่างต่อท้าย) จะมองเห็นได้ อ่านทุกบรรทัด
จนถึงจุดนั้นจะถูกใช้เป็นอินพุตมาตรฐานสำหรับคำสั่ง

รูปแบบของเอกสารที่นี่คือ:

<<[-]word
ที่นี่-เอกสาร
ตัวคั่น

ไม่มีการขยายพารามิเตอร์และตัวแปร การแทนที่คำสั่ง การขยายเลขคณิต หรือ
ดำเนินการขยายชื่อพาธบน word. หากมีตัวอักษรใดใน word ถูกยกมา
ตัวคั่น เป็นผลจากการลบใบเสนอราคาบน wordและบรรทัดในเอกสารที่นี่คือ
ไม่ขยาย. ถ้า word ไม่มีเครื่องหมายคำพูดทุกบรรทัดของเอกสารที่นี่อยู่ภายใต้
การขยายพารามิเตอร์ การแทนที่คำสั่ง และการขยายเลขคณิต อักขระ
ลำดับ \ ถูกละเลยและ \ ต้องใช้อ้างอิงตัวอักษร \, $และ `.

หากตัวดำเนินการเปลี่ยนเส้นทางคือ <<-จากนั้นอักขระแท็บชั้นนำทั้งหมดจะถูกถอดออกจาก
บรรทัดอินพุตและบรรทัดที่มี ตัวคั่น. สิ่งนี้ช่วยให้เอกสารที่นี่ภายใน shell
สคริปต์ที่จะเยื้องในลักษณะที่เป็นธรรมชาติ

Here Strings
ตัวแปรของเอกสารที่นี่ รูปแบบคือ:

<<word

พื้นที่ word ผ่านการขยายวงเล็บปีกกา, การขยายตัวหนอน, การขยายพารามิเตอร์และการขยายตัวแปร,
การแทนที่คำสั่ง การขยายเลขคณิต และการลบเครื่องหมายคำพูด การขยายชื่อเส้นทางและ
ไม่ได้ดำเนินการแยกคำ ผลลัพธ์ถูกจัดให้เป็นสตริงเดียวไปยัง
คำสั่งบนอินพุตมาตรฐาน

การทำสำเนา เนื้อไม่มีมัน อธิบาย
ตัวดำเนินการเปลี่ยนเส้นทาง

[n]<&word

ใช้เพื่อทำซ้ำตัวบ่งชี้ไฟล์อินพุต ถ้า word ขยายเป็นหนึ่งหลักขึ้นไป
file descriptor แสดงโดย n ถูกทำขึ้นเพื่อเป็นสำเนาของตัวอธิบายไฟล์นั้น หากเป็นตัวเลข
in word ไม่ได้ระบุไฟล์อธิบายที่เปิดสำหรับอินพุต เกิดข้อผิดพลาดในการเปลี่ยนเส้นทาง ถ้า
word ประเมินถึง -, ไฟล์คำอธิบาย n ถูกปิด. ถ้า n ไม่ได้ระบุมาตรฐาน
อินพุต (ตัวอธิบายไฟล์ 0) ถูกใช้

ตัวดำเนินการ

[n]>&word

ใช้ในทำนองเดียวกันกับตัวอธิบายไฟล์เอาต์พุตที่ซ้ำกัน ถ้า n ไม่ได้ระบุไว้
ใช้เอาต์พุตมาตรฐาน (ตัวอธิบายไฟล์ 1) ถ้าตัวเลขใน word ไม่ระบุไฟล์
descriptor เปิดสำหรับเอาต์พุต เกิดข้อผิดพลาดในการเปลี่ยนเส้นทาง ถ้า word ประเมินถึง -, ไฟล์
คำอธิบาย n ถูกปิด. เป็นกรณีพิเศษ ถ้า n ละเว้นและ word ไม่ขยายเป็น
หนึ่งหลักขึ้นไปหรือ -, เอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานจะถูกเปลี่ยนเส้นทางเป็น
อธิบายไว้ก่อนหน้านี้

ย้าย เนื้อไม่มีมัน อธิบาย
ตัวดำเนินการเปลี่ยนเส้นทาง

[n]<&เลข-

ย้ายไฟล์ descriptor เลข เพื่อไฟล์คำอธิบาย nหรืออินพุตมาตรฐาน (file
ตัวอธิบาย 0) if n ไม่ได้ระบุ เลข ถูกปิดหลังจากซ้ำกับ n.

ในทำนองเดียวกัน โอเปอเรเตอร์การเปลี่ยนเส้นทาง

[n]>&เลข-

ย้ายไฟล์ descriptor เลข เพื่อไฟล์คำอธิบาย nหรือเอาต์พุตมาตรฐาน (file
ตัวอธิบาย 1) if n ไม่ได้ระบุ

การเปิด เนื้อไม่มีมัน อธิบาย for การอ่าน และ การเขียน
ตัวดำเนินการเปลี่ยนเส้นทาง

[n]<>word

ทำให้ไฟล์ที่มีชื่อเป็นส่วนขยายของ word ที่จะเปิดให้ทั้งอ่านและ
เขียนบน file descriptor n, หรือ file descriptor 0 if n ไม่ได้ระบุไว้ ถ้าไฟล์
ไม่มีอยู่จริง มันถูกสร้างขึ้น

นามแฝง


นามแฝง อนุญาตให้ใช้สตริงแทนคำเมื่อถูกใช้เป็นคำแรกของa
คำสั่งง่ายๆ เชลล์รักษารายชื่อนามแฝงที่อาจตั้งค่าและยกเลิกการตั้งค่าด้วย
นามแฝง และ ยูนาเลีย คำสั่งในตัว (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง). คำแรกของ
แต่ละคำสั่งอย่างง่าย หากไม่มีเครื่องหมายอัญประกาศ จะถูกตรวจสอบเพื่อดูว่ามีนามแฝงหรือไม่ ถ้าอย่างนั้นคำนั้น
ถูกแทนที่ด้วยข้อความของนามแฝง ตัวละคร /, $, `และ = และเปลือกใด ๆ
อักขระเมตา หรืออักขระที่อ้างถึงข้างต้นอาจไม่ปรากฏในชื่อนามแฝง NS
ข้อความแทนที่อาจมีอินพุตเชลล์ที่ถูกต้อง ซึ่งรวมถึงอักขระเมตาของเชลล์ NS
คำแรกของข้อความแทนที่ถูกทดสอบสำหรับนามแฝง แต่เป็นคำที่เหมือนกับ
นามแฝงที่กำลังขยายจะไม่ถูกขยายเป็นครั้งที่สอง ซึ่งหมายความว่าอาจมีนามแฝง ls
ไปยัง ls -F, ตัวอย่างเช่น, และ ทุบตี ไม่พยายามขยายข้อความแทนที่ซ้ำๆ
หากอักขระตัวสุดท้ายของค่านามแฝงคือ a ว่างเปล่าแล้วตามด้วยคำคำสั่งถัดไป
นามแฝงยังถูกตรวจสอบสำหรับการขยายนามแฝง

นามแฝงถูกสร้างขึ้นและแสดงรายการด้วย นามแฝง คำสั่งและลบออกด้วย ยูนาเลีย
คำสั่ง

ไม่มีกลไกในการใช้อาร์กิวเมนต์ในข้อความแทนที่ ถ้าข้อโต้แย้งคือ
จำเป็นต้องใช้ฟังก์ชันเชลล์ (ดู ฟังก์ชั่น ด้านล่าง)

นามแฝงจะไม่ถูกขยายเมื่อเชลล์ไม่โต้ตอบ เว้นแต่ ขยาย_นามแฝง
ตัวเลือกเชลล์ถูกตั้งค่าโดยใช้ ช๊อปปิ้ง (ดูคำอธิบายของ ช๊อปปิ้ง ภายใต้ SHELL สร้างขึ้น คำสั่ง
ด้านล่าง)

กฎที่เกี่ยวข้องกับคำจำกัดความและการใช้นามแฝงค่อนข้างสับสน ทุบตี
อ่านอินพุตที่สมบูรณ์อย่างน้อยหนึ่งบรรทัดเสมอก่อนดำเนินการคำสั่งใดๆ บน
เส้นนั้น นามแฝงจะถูกขยายเมื่ออ่านคำสั่ง ไม่ใช่เมื่อดำเนินการ
ดังนั้น นิยามนามแฝงที่ปรากฏบนบรรทัดเดียวกันกับคำสั่งอื่นจึงไม่รับ
มีผลจนกว่าจะอ่านอินพุตบรรทัดถัดไป คำสั่งที่ตามหลังนิยามนามแฝง
ในบรรทัดนั้นจะไม่ได้รับผลกระทบจากนามแฝงใหม่ พฤติกรรมนี้ยังเป็นปัญหาเมื่อ
ฟังก์ชั่นจะถูกดำเนินการ นามแฝงจะถูกขยายเมื่อมีการอ่านคำจำกัดความของฟังก์ชัน ไม่ใช่เมื่อ
ฟังก์ชันนี้ถูกดำเนินการ เนื่องจากนิยามฟังก์ชันคือคำสั่งผสม เนื่องจาก
ผลที่ตามมา นามแฝงที่กำหนดไว้ในฟังก์ชันจะไม่สามารถใช้ได้จนกว่าฟังก์ชันนั้น
ถูกดำเนินการ เพื่อความปลอดภัย ให้ใส่คำจำกัดความนามแฝงในบรรทัดแยกต่างหากเสมอ และอย่าใช้
นามแฝง ในคำสั่งผสม

สำหรับเกือบทุกวัตถุประสงค์ ชื่อแทนจะถูกแทนที่ด้วยฟังก์ชันเชลล์

ฟังก์ชั่น


ฟังก์ชันเชลล์ที่กำหนดไว้ตามที่อธิบายไว้ข้างต้นภายใต้ SHELL ไวยากรณ์, เก็บชุดของ
คำสั่งเพื่อดำเนินการในภายหลัง เมื่อใช้ชื่อฟังก์ชันเชลล์แบบง่าย
ชื่อคำสั่ง รายการคำสั่งที่เกี่ยวข้องกับชื่อฟังก์ชันนั้นจะถูกดำเนินการ
ฟังก์ชั่นจะดำเนินการในบริบทของเชลล์ปัจจุบัน ไม่มีการสร้างกระบวนการใหม่เพื่อ
แปลความหมาย (ตรงกันข้ามกับการดำเนินการของเชลล์สคริปต์) เมื่อฟังก์ชันคือ
ดำเนินการ อาร์กิวเมนต์ของฟังก์ชันจะกลายเป็นพารามิเตอร์ตำแหน่งระหว่าง
การดำเนินการ พารามิเตอร์พิเศษ # ได้รับการปรับปรุงเพื่อสะท้อนถึงการเปลี่ยนแปลง พารามิเตอร์พิเศษ 0
ไม่เปลี่ยนแปลง องค์ประกอบแรกของ FUNCNAME ตัวแปรถูกตั้งเป็นชื่อของ
ขณะฟังก์ชันกำลังทำงาน

ลักษณะอื่นๆ ทั้งหมดของสภาพแวดล้อมการดำเนินการเชลล์จะเหมือนกันระหว่างฟังก์ชันและ
ผู้โทรด้วยข้อยกเว้นเหล่านี้: the แก้ปัญหา และ กลับ กับดัก (ดูคำอธิบายของ
กับดัก สร้างขึ้นภายใต้ SHELL สร้างขึ้น คำสั่ง ด้านล่าง) ไม่ได้รับการสืบทอดเว้นแต่ว่าฟังก์ชันมี
ได้รับ ติดตาม คุณลักษณะ (ดูคำอธิบายของ ประกาศ ในตัวด้านล่าง) หรือ
-o ฟังก์ชั่น เปิดใช้งานตัวเลือกเชลล์ด้วย ชุด ในตัว (ในกรณีนี้ทั้งหมด
ฟังก์ชันสืบทอด แก้ปัญหา และ กลับ กับดัก) และ ERR กับดักไม่ได้รับการสืบทอดเว้นแต่
-o ผิดพลาด เปิดใช้งานตัวเลือกเชลล์แล้ว

ตัวแปรท้องถิ่นของฟังก์ชันอาจประกาศด้วย ในประเทศ คำสั่งในตัว
โดยปกติ ตัวแปรและค่าของตัวแปรจะถูกใช้ร่วมกันระหว่างฟังก์ชันและผู้เรียก

พื้นที่ ความสนุกที่สุด ตัวแปร หากตั้งค่าเป็นค่าตัวเลขที่มากกว่า 0 จะกำหนดค่าสูงสุด
ระดับการซ้อนของฟังก์ชัน การเรียกใช้ฟังก์ชันที่เกินขีดจำกัดทำให้เกิดทั้งหมด
คำสั่งให้ยกเลิก

หากคำสั่งในตัว กลับ ถูกดำเนินการในฟังก์ชัน ฟังก์ชันจะเสร็จสมบูรณ์และ
การดำเนินการดำเนินต่อด้วยคำสั่งถัดไปหลังจากการเรียกใช้ฟังก์ชัน คำสั่งใด ๆ ที่เกี่ยวข้อง
กับ กลับ กับดักถูกดำเนินการก่อนที่การดำเนินการจะกลับมาทำงานต่อ เมื่อฟังก์ชันเสร็จสิ้น
ค่าของพารามิเตอร์ตำแหน่งและพารามิเตอร์พิเศษ # กลับคืนสู่คุณค่า
พวกเขามีก่อนการดำเนินการของฟังก์ชัน

ชื่อฟังก์ชันและคำจำกัดความอาจแสดงด้วยเครื่องหมาย -f ตัวเลือก ประกาศ or เรียงพิมพ์
คำสั่งในตัว NS -F ตัวเลือก ประกาศ or เรียงพิมพ์ จะแสดงรายการชื่อฟังก์ชันเท่านั้น
(และเลือกไฟล์ต้นทางและหมายเลขบรรทัด ถ้า ขยายข้อบกพร่อง เปิดใช้งานตัวเลือกเชลล์)
ฟังก์ชันอาจถูกส่งออกเพื่อให้เชลล์ย่อยกำหนดไว้โดยอัตโนมัติด้วย -f
ตัวเลือก ส่งออก สร้างขึ้น คำจำกัดความของฟังก์ชันอาจถูกลบโดยใช้คำสั่ง -f ตัวเลือก
ยกเลิกการตั้งค่า สร้างขึ้น โปรดทราบว่าฟังก์ชันเชลล์และตัวแปรที่มีชื่อเดียวกันอาจส่งผลให้
ในรายการที่มีชื่อเหมือนกันหลายรายการในสภาพแวดล้อมที่ส่งผ่านไปยังลูกของเชลล์
ควรใช้ความระมัดระวังในกรณีที่อาจทำให้เกิดปัญหา

ฟังก์ชันอาจเรียกซ้ำ NS ความสนุกที่สุด ตัวแปรอาจใช้เพื่อจำกัดความลึกของ
ฟังก์ชัน call stack และจำกัดจำนวนการเรียกใช้ฟังก์ชัน โดยค่าเริ่มต้น ไม่จำกัด
ถูกกำหนดตามจำนวนการโทรแบบเรียกซ้ำ

เลขคณิต การประเมินผล


เชลล์อนุญาตให้ประเมินนิพจน์ทางคณิตศาสตร์ได้ ในบางกรณี (ดู
ให้ และ ประกาศ คำสั่งในตัวและ คณิตศาสตร์ การขยายตัว). การประเมินผลเสร็จสิ้นใน
จำนวนเต็มความกว้างคงที่โดยไม่มีการตรวจสอบการล้น แม้ว่าการหารด้วย 0 จะถูกดักไว้และ
ถูกตั้งค่าสถานะเป็นข้อผิดพลาด ตัวดำเนินการและลำดับความสำคัญ การเชื่อมโยง และค่าของพวกมันคือ
เช่นเดียวกับในภาษาซี รายการตัวดำเนินการต่อไปนี้ถูกจัดกลุ่มเป็นระดับของ
ตัวดำเนินการที่มีลำดับความสำคัญเท่ากัน ระดับต่างๆ เรียงตามลำดับความสำคัญที่ลดลง

id++ id--
ตัวแปรหลังการเพิ่มและหลังการลดค่า
++id --id
การเพิ่มขึ้นล่วงหน้าและการลดค่าล่วงหน้าของตัวแปร
- + ยูนารีลบและบวก
! ~ ตรรกะและการปฏิเสธระดับบิต
** การยกกำลัง
* / % คูณหารเศษ
+ - บวก ลบ
<< >> ซ้ายและขวากะบิต
<= >= < >
การเปรียบเทียบ
== != ความเสมอภาคและความไม่เท่าเทียมกัน
& ระดับบิตและ
^ ค่าบิตพิเศษ OR
| ระดับบิต OR
&& ตรรกะและ
|| ตรรกะOR
ด่วน?ด่วน:ด่วน
ตัวดำเนินการตามเงื่อนไข
= *= /= %= += -= << = >> = &= ^= |=
การมอบหมาย
หมดอายุ1 , หมดอายุ2
จุลภาค

อนุญาตให้ใช้ตัวแปรเชลล์เป็นตัวถูกดำเนินการ การขยายพารามิเตอร์จะดำเนินการก่อน
นิพจน์ได้รับการประเมิน ภายในนิพจน์ ตัวแปรเชลล์อาจถูกอ้างอิงโดย
ชื่อโดยไม่ต้องใช้ไวยากรณ์การขยายพารามิเตอร์ ตัวแปรเชลล์ที่เป็น null หรือ unset
ประเมินเป็น 0 เมื่ออ้างอิงตามชื่อโดยไม่ต้องใช้ไวยากรณ์การขยายพารามิเตอร์ NS
ค่าของตัวแปรจะถูกประเมินเป็นนิพจน์ทางคณิตศาสตร์เมื่อมีการอ้างอิง หรือ
เมื่อตัวแปรที่ได้รับ จำนวนเต็ม แอตทริบิวต์โดยใช้ ประกาศ -i ได้รับมอบหมาย a
ค่า. ค่า null ประเมินเป็น 0 ตัวแปรเชลล์ไม่จำเป็นต้องมีค่าของมัน จำนวนเต็ม คุณลักษณะ
เปิดใช้งานเพื่อใช้ในนิพจน์

ค่าคงที่ที่มี 0 นำหน้าจะถูกตีความว่าเป็นเลขฐานแปด 0x หรือ 0X นำหน้าหมายถึง
เลขฐานสิบหก มิฉะนั้น ตัวเลขจะอยู่ในรูปแบบ [ฐาน#]n โดยที่ตัวเลือก ฐาน คือ
เลขทศนิยมระหว่าง 2 ถึง 64 แทนฐานเลขคณิตและ n เป็นตัวเลขใน
ฐานนั้น ถ้า ฐาน# ละไว้ จากนั้นใช้ฐาน 10 เมื่อระบุ n, ตัวเลข
มากกว่า< 9 จะแสดงด้วยอักษรตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ @ และ _
เพื่อให้. ถ้า ฐาน น้อยกว่าหรือเท่ากับ 36 ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่อาจ
ใช้แทนกันได้เพื่อแสดงตัวเลขระหว่าง 10 ถึง 35

ตัวดำเนินการจะถูกประเมินตามลำดับความสำคัญ นิพจน์ย่อยในวงเล็บคือ
ประเมินก่อนและอาจแทนที่กฎลำดับความสำคัญด้านบน

เงื่อนไข การแสดงออก


นิพจน์เงื่อนไขถูกใช้โดย [[ คำสั่งผสมและ ทดสอบ และ [ ในตัว
คำสั่งเพื่อทดสอบคุณสมบัติของไฟล์และทำการเปรียบเทียบสตริงและเลขคณิต
นิพจน์เกิดขึ้นจากไพรมารียูนารีหรือไบนารีต่อไปนี้ ถ้ามี ไฟล์ อาร์กิวเมนต์
ถึงหนึ่งในพรรคพวกมีรูปแบบ /dev/fd/nจากนั้น file descriptor n ถูกตรวจสอบ ถ้า
ไฟล์ อาร์กิวเมนต์หนึ่งในพรรคพวกเป็นหนึ่งใน /dev/stdin, /dev/stdout,หรือ
/dev/stderr, file descriptor 0, 1 หรือ 2 ตามลำดับ ถูกตรวจสอบ

เว้นแต่จะระบุไว้เป็นอย่างอื่น ไพรมารีที่ทำงานบนไฟล์จะเป็นไปตามลิงก์สัญลักษณ์และ
ทำงานบนเป้าหมายของลิงก์ แทนที่จะเป็นตัวลิงก์เอง

เมื่อใช้กับ [[ที่ < และ > ตัวดำเนินการเรียงลำดับ lexicographically โดยใช้สถานที่ปัจจุบัน
พื้นที่ ทดสอบ การเรียงลำดับคำสั่งโดยใช้การเรียงลำดับ ASCII

-a ไฟล์
จริงถ้า ไฟล์ ที่มีอยู่
-b ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นไฟล์บล็อกพิเศษ
-c ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นไฟล์อักขระพิเศษ
-d ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นไดเร็กทอรี
-e ไฟล์
จริงถ้า ไฟล์ ที่มีอยู่
-f ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นไฟล์ปกติ
-g ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็น set-group-id
-h ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นลิงค์สัญลักษณ์
-k ไฟล์
จริงถ้า ไฟล์ มีอยู่และมีการตั้งค่าบิต ``เหนียว''
-p ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นไปป์ที่มีชื่อ (FIFO)
-r ไฟล์
จริงถ้า ไฟล์ มีอยู่และสามารถอ่านได้
-s ไฟล์
จริงถ้า ไฟล์ มีอยู่และมีขนาดที่มากกว่าศูนย์
-t fd จริงถ้า file descriptor fd เปิดอยู่และหมายถึงเทอร์มินัล
-u ไฟล์
จริงถ้า ไฟล์ มีอยู่และตั้งค่าบิต set-user-id
-w ไฟล์
จริงถ้า ไฟล์ มีอยู่และสามารถเขียนได้
-x ไฟล์
จริงถ้า ไฟล์ มีอยู่และดำเนินการได้
-G ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นเจ้าของโดย ID กลุ่มที่มีประสิทธิภาพ
-L ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นลิงค์สัญลักษณ์
-N ไฟล์
จริงถ้า ไฟล์ มีอยู่และได้รับการแก้ไขตั้งแต่อ่านครั้งล่าสุด
-O ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นเจ้าของโดย ID ผู้ใช้ที่มีประสิทธิภาพ
-S ไฟล์
จริงถ้า ไฟล์ มีอยู่และเป็นซ็อกเก็ต
file1 -เอฟ file2
จริงถ้า file1 และ file2 อ้างถึงอุปกรณ์และหมายเลขไอโหนดเดียวกัน
file1 -nt file2
จริงถ้า file1 ใหม่กว่า (ตามวันที่แก้ไข) than file2, หรือถ้า file1
มีอยู่และ file2 ไม่.
file1 -ot file2
จริงถ้า file1 มีอายุมากกว่า file2, หรือถ้า file2 มีอยู่และ file1 ไม่.
-o ชื่อตัวเลือก
จริงถ้าตัวเลือกเชลล์ ชื่อตัวเลือก เปิดใช้งาน. ดูรายการตัวเลือกภายใต้
คำอธิบายของ -o ตัวเลือก ชุด ในตัวด้านล่าง
-v นามสกุล
เป็นจริงถ้าตัวแปรเชลล์ นามสกุล เป็นการตั้งค่า (ได้รับการกำหนดค่า)
-R นามสกุล
เป็นจริงถ้าตัวแปรเชลล์ นามสกุล ถูกตั้งค่าและเป็นชื่ออ้างอิง
-z เชือก
จริงถ้าความยาวของ เชือก เป็นศูนย์
เชือก
-n เชือก
จริงถ้าความยาวของ เชือก ไม่เป็นศูนย์

string1 == string2
string1 = string2
True หากสตริงมีค่าเท่ากัน = ควรใช้กับ ทดสอบ คำสั่งสำหรับ POSIX
ความสอดคล้อง เมื่อใช้ร่วมกับ [[ คำสั่งนี้ดำเนินการจับคู่รูปแบบเป็น
อธิบายไว้ข้างต้น (สารประกอบ คำสั่ง).

string1 != string2
True หากสตริงไม่เท่ากัน

string1 < string2
จริงถ้า string1 เรียงลำดับก่อน string2 พจนานุกรมศัพท์

string1 > string2
จริงถ้า string1 เรียงลำดับตาม string2 พจนานุกรมศัพท์

หาเรื่อง1 OP หาเรื่อง2
OP เป็นหนึ่งใน -เช่น, - หนึ่ง, -ล, -NS, -gt,หรือ -ge. ตัวดำเนินการเลขฐานสองเลขคณิตเหล่านี้
คืนค่าจริง if หาเรื่อง1 เท่ากับ ไม่เท่ากับ น้อยกว่า น้อยกว่าหรือเท่ากับ
มากกว่าหรือมากกว่าหรือเท่ากับ หาเรื่อง2ตามลำดับ arg1 และ หาเรื่อง2 อาจจะ
จำนวนเต็มบวกหรือลบ

SIMPLE คำสั่ง ขยาย


เมื่อดำเนินการคำสั่งอย่างง่าย เชลล์ดำเนินการขยายต่อไปนี้
การมอบหมายและการเปลี่ยนเส้นทางจากซ้ายไปขวา

1. คำที่ parser ทำเครื่องหมายว่าเป็นการกำหนดตัวแปร (คำที่นำหน้า
ชื่อคำสั่ง) และการเปลี่ยนเส้นทางจะถูกบันทึกไว้สำหรับการประมวลผลในภายหลัง

2. ขยายคำที่ไม่ใช่การกำหนดตัวแปรหรือการเปลี่ยนเส้นทาง ถ้ามี
คำที่เหลืออยู่หลังจากขยายคำแรกถือเป็นชื่อของคำสั่ง
และคำที่เหลือเป็นข้อโต้แย้ง

3. การเปลี่ยนเส้นทางจะดำเนินการตามที่อธิบายไว้ข้างต้นภายใต้ เปลี่ยนเส้นทาง.

4. ข้อความหลัง = ในการมอบหมายตัวแปรแต่ละครั้งจะมีการขยายตัวหนอน
การขยายพารามิเตอร์ การแทนที่คำสั่ง การขยายเลขคณิต และการลบเครื่องหมายคำพูด
ก่อนกำหนดให้กับตัวแปร

หากไม่มีผลลัพธ์ชื่อคำสั่ง การกำหนดตัวแปรจะส่งผลต่อสภาวะแวดล้อมเชลล์ปัจจุบัน
มิฉะนั้น ตัวแปรจะถูกเพิ่มในสภาพแวดล้อมของคำสั่งที่ดำเนินการ และไม่
ส่งผลกระทบต่อสภาพแวดล้อมของเชลล์ปัจจุบัน หากมีงานใดพยายามมอบหมาย a
ค่าตัวแปรแบบอ่านอย่างเดียว เกิดข้อผิดพลาด และคำสั่งออกด้วยค่าที่ไม่ใช่ศูนย์
สถานะ

หากไม่มีผลลัพธ์ของชื่อคำสั่ง จะทำการเปลี่ยนเส้นทาง แต่จะไม่มีผลกับปัจจุบัน
สภาพแวดล้อมของเชลล์ ข้อผิดพลาดในการเปลี่ยนเส้นทางทำให้คำสั่งออกโดยมีสถานะไม่เป็นศูนย์

หากมีชื่อคำสั่งเหลืออยู่หลังจากการขยาย การดำเนินการจะดำเนินการตามที่อธิบายไว้ด้านล่าง
มิฉะนั้น คำสั่งจะออก หากส่วนขยายใดมีการแทนที่คำสั่ง
สถานะการออกของคำสั่งคือสถานะการออกของการแทนที่คำสั่งสุดท้าย
ดำเนินการ หากไม่มีการเปลี่ยนคำสั่ง คำสั่งจะออกโดยมีสถานะเป็น
ศูนย์.

คำสั่ง การดำเนินการ


หลังจากแยกคำสั่งเป็นคำแล้ว หากผลออกมาเป็นคำสั่งง่ายๆ และ an
รายการอาร์กิวเมนต์ที่เป็นทางเลือก มีการดำเนินการดังต่อไปนี้

หากชื่อคำสั่งไม่มีเครื่องหมายทับ เชลล์จะพยายามค้นหาตำแหน่งนั้น ถ้ามี
ฟังก์ชันเชลล์ตามชื่อนั้น ฟังก์ชันนั้นถูกเรียกใช้ตามที่อธิบายไว้ข้างต้นใน ฟังก์ชั่น.
หากชื่อไม่ตรงกับฟังก์ชัน เชลล์จะค้นหาชื่อนั้นในรายการของ shell
บิวอิน หากพบการจับคู่ บิวด์อินนั้นจะถูกเรียกใช้

หากชื่อไม่ใช่ทั้งฟังก์ชันเชลล์หรือบิวด์อิน และไม่มีเครื่องหมายสแลช ทุบตี
ค้นหาแต่ละองค์ประกอบของ เส้นทาง สำหรับไดเร็กทอรีที่มีไฟล์เรียกทำงานโดย that
ชื่อ ทุบตี ใช้ตารางแฮชเพื่อจำชื่อพาธแบบเต็มของไฟล์เรียกทำงาน (ดู กัญชา
ภายใต้ SHELL สร้างขึ้น คำสั่ง ด้านล่าง). ค้นหาไดเร็กทอรีใน เส้นทาง is
ดำเนินการเฉพาะเมื่อไม่พบคำสั่งในตารางแฮช หากการค้นหาคือ
ไม่สำเร็จ เชลล์ค้นหาฟังก์ชันเชลล์ที่กำหนดชื่อ
command_not_found_handle. หากมีฟังก์ชันนั้นอยู่ จะเรียกใช้ด้วยฟังก์ชันเดิม
คำสั่งและอาร์กิวเมนต์ของคำสั่งดั้งเดิมเป็นอาร์กิวเมนต์และ exit ของฟังก์ชัน
สถานะกลายเป็นสถานะการออกของเชลล์ หากไม่ได้กำหนดฟังก์ชันนั้นไว้ เชลล์
พิมพ์ข้อความแสดงข้อผิดพลาดและส่งคืนสถานะการออก 127

หากการค้นหาสำเร็จ หรือหากชื่อคำสั่งมีเครื่องหมายสแลชหนึ่งตัวขึ้นไป
เชลล์รันโปรแกรมที่มีชื่อในสภาพแวดล้อมการทำงานที่แยกต่างหาก อาร์กิวเมนต์ 0 ถูกตั้งค่า
เป็นชื่อที่กำหนดและอาร์กิวเมนต์ที่เหลือของคำสั่งจะถูกตั้งค่าเป็นอาร์กิวเมนต์
ให้ ถ้ามี

หากการดำเนินการนี้ล้มเหลวเนื่องจากไฟล์ไม่ได้อยู่ในรูปแบบที่เรียกใช้งานได้ และไฟล์นั้นไม่ใช่
ไดเร็กทอรีจะถือว่า a เปลือก ต้นฉบับไฟล์ที่มีคำสั่งเชลล์ อา
เชลล์ย่อยถูกสร้างขึ้นเพื่อดำเนินการ เชลล์ย่อยนี้เริ่มต้นตัวเองใหม่ เพื่อให้เอฟเฟกต์
ราวกับว่ามีการเรียกใช้เชลล์ใหม่เพื่อจัดการกับสคริปต์ ยกเว้นว่า
ตำแหน่งของคำสั่งที่ผู้ปกครองจำได้ (ดู กัญชา ด้านล่างใต้ SHELL สร้างขึ้น
คำสั่ง) เก็บไว้โดยเด็ก

หากโปรแกรมเป็นไฟล์ที่ขึ้นต้นด้วย #!ส่วนที่เหลือของบรรทัดแรกระบุ an
ล่ามสำหรับโปรแกรม เชลล์รันล่ามที่ระบุใน operation
ระบบที่ไม่จัดการรูปแบบที่เรียกใช้งานได้นี้เอง ข้อโต้แย้งของ
ล่ามประกอบด้วยอาร์กิวเมนต์ทางเลือกเดียวตามหลังชื่อล่ามบน
บรรทัดแรกของโปรแกรม ตามด้วยชื่อโปรแกรม ตามด้วยคำสั่ง
อาร์กิวเมนต์ถ้ามี

คำสั่ง การดำเนินการ และพวกเรา


เปลือกมี การปฏิบัติ สิ่งแวดล้อมซึ่งประกอบด้วยรายการต่อไปนี้:

· เปิดไฟล์ที่สืบทอดมาโดยเชลล์เมื่อเรียกใช้ ซึ่งแก้ไขโดยการเปลี่ยนเส้นทาง
ให้มาที่ exec ในตัว

· ไดเร็กทอรีการทำงานปัจจุบันที่กำหนดโดย cd, pushd,หรือ popdหรือสืบทอดโดย
เปลือกที่วิงวอน

· มาสก์โหมดการสร้างไฟล์ตามที่ตั้งค่าโดย อูมาสก์ หรือสืบทอดมาจากแม่ของเปลือก

·กับดักปัจจุบันที่กำหนดโดย กับดัก

· พารามิเตอร์เชลล์ที่กำหนดโดยการกำหนดตัวแปรหรือด้วย ชุด หรือสืบทอดมาจาก
พาเรนต์ของเชลล์ในสภาพแวดล้อม

· ฟังก์ชันเชลล์ที่กำหนดไว้ระหว่างการดำเนินการหรือสืบทอดจากพาเรนต์ in . ของเชลล์
สภาพแวดล้อม

· ตัวเลือกที่เปิดใช้งานเมื่อเรียกใช้ (โดยค่าเริ่มต้นหรือด้วยอาร์กิวเมนต์บรรทัดคำสั่ง) หรือ
by ชุด

·ตัวเลือกที่เปิดใช้งานโดย ช๊อปปิ้ง

· นามแฝงเชลล์ที่กำหนดด้วย นามแฝง

· ID กระบวนการต่างๆ รวมถึงของงานเบื้องหลัง ค่าของ $$และ
ค่าของ พีไอดี

เมื่อต้องดำเนินการคำสั่งอย่างง่ายอื่นที่ไม่ใช่ฟังก์ชันบิวด์อินหรือเชลล์ คำสั่งนั้นคือ
เรียกใช้ในสภาพแวดล้อมการดำเนินการแยกต่างหากที่ประกอบด้วยสิ่งต่อไปนี้ เว้นเสียแต่ว่า
มิฉะนั้น ค่าที่สืบทอดมาจากเชลล์

· ไฟล์ที่เปิดอยู่ของเชลล์ รวมถึงการดัดแปลงและเพิ่มเติมใดๆ ที่ระบุโดย
การเปลี่ยนเส้นทางไปยังคำสั่ง

· ไดเร็กทอรีการทำงานปัจจุบัน

· มาสก์โหมดการสร้างไฟล์

· ตัวแปรเชลล์และฟังก์ชันที่ทำเครื่องหมายสำหรับการส่งออก พร้อมกับตัวแปรที่ส่งออกสำหรับ
คำสั่งผ่านในสภาพแวดล้อม

· กับดักที่เปลือกจับได้จะถูกรีเซ็ตเป็นค่าที่สืบทอดมาจากเปลือกของ
parent และกับดักที่ถูกละเว้นโดยเชลล์จะถูกละเว้น

คำสั่งที่เรียกใช้ในสภาพแวดล้อมที่แยกจากกันนี้ไม่สามารถส่งผลกระทบต่อการดำเนินการของเชลล์
สิ่งแวดล้อม

การแทนที่คำสั่ง คำสั่งที่จัดกลุ่มด้วยวงเล็บ และคำสั่งแบบอะซิงโครนัสคือ
เรียกใช้ในสภาพแวดล้อมของเชลล์ย่อยที่ซ้ำกับสภาพแวดล้อมของเชลล์ ยกเว้น
กับดักที่เชลล์จับได้จะถูกรีเซ็ตเป็นค่าที่เชลล์สืบทอดมาจาก
ผู้ปกครองที่วิงวอน คำสั่งในตัวที่เรียกใช้โดยเป็นส่วนหนึ่งของไปป์ไลน์ก็เช่นกัน
ดำเนินการในสภาพแวดล้อมของเชลล์ย่อย การเปลี่ยนแปลงที่ทำกับสภาพแวดล้อมของเชลล์ย่อยไม่สามารถ
ส่งผลกระทบต่อสภาพแวดล้อมการทำงานของเชลล์

เชลล์ย่อยถูกสร้างขึ้นเพื่อดำเนินการแทนที่คำสั่งรับค่าของ -e ตัวเลือกจาก
เปลือกหลัก เมื่อไม่อยู่ใน POSIX โหมด, ทุบตี ล้าง -e ตัวเลือกใน subshells ดังกล่าว

ถ้าคำสั่งตามด้วย a & และการควบคุมงานไม่ทำงาน อินพุตมาตรฐานเริ่มต้น
สำหรับคำสั่งเป็นไฟล์ว่าง / dev / null. มิฉะนั้น คำสั่งที่เรียกใช้จะสืบทอด
file descriptors ของเชลล์การเรียกตามที่แก้ไขโดยการเปลี่ยนเส้นทาง

และพวกเรา


เมื่อเรียกใช้โปรแกรมจะได้รับอาร์เรย์ของสตริงที่เรียกว่า สิ่งแวดล้อม. นี่คือ
รายการของ ชื่อ-ความคุ้มค่า คู่ของรูปแบบ ชื่อ=ความคุ้มค่า.

เชลล์มีหลายวิธีในการจัดการกับสิ่งแวดล้อม ในการวิงวอน เชลล์
สแกนสภาพแวดล้อมของตัวเองและสร้างพารามิเตอร์สำหรับแต่ละชื่อที่พบโดยอัตโนมัติ
ทำเครื่องหมายสำหรับ ส่งออก สู่กระบวนการลูก คำสั่งที่ดำเนินการจะสืบทอดสภาพแวดล้อม ดิ
ส่งออก และ ประกาศ -x คำสั่งอนุญาตให้เพิ่มและลบพารามิเตอร์และฟังก์ชันได้
จากสิ่งแวดล้อม หากค่าของพารามิเตอร์ในสภาพแวดล้อมถูกแก้ไข new
คุณค่ากลายเป็นส่วนหนึ่งของสิ่งแวดล้อม แทนที่สิ่งเก่า สิ่งแวดล้อมที่สืบทอดโดย
คำสั่งที่ดำเนินการใดๆ ประกอบด้วยสภาพแวดล้อมเริ่มต้นของเชลล์ ซึ่งค่าอาจเป็น
แก้ไขในเชลล์น้อยกว่าคู่ใด ๆ ที่ถอดออกโดย ยกเลิกการตั้งค่า คำสั่งบวกกับส่วนเพิ่มเติมใด ๆ ผ่านทาง
ส่งออก และ ประกาศ -x คำสั่ง

สิ่งแวดล้อมสำหรับทุกคน ง่าย คำสั่ง หรืออาจเพิ่มฟังก์ชันชั่วคราวโดย
นำหน้าด้วยการกำหนดพารามิเตอร์ตามที่อธิบายไว้ข้างต้นใน พารามิเตอร์. เหล่านี้
คำสั่งการมอบหมายมีผลเฉพาะกับสภาพแวดล้อมที่เห็นโดยคำสั่งนั้น

ถ้า -k ตั้งค่าตัวเลือกแล้ว (ดู ชุด คำสั่ง buildin ด้านล่าง) จากนั้น ทั้งหมด พารามิเตอร์
การมอบหมายจะถูกวางไว้ในสภาพแวดล้อมสำหรับคำสั่ง ไม่ใช่แค่คำสั่งที่มาก่อน
ชื่อคำสั่ง

เมื่อ ทุบตี เรียกใช้คำสั่งภายนอกตัวแปร _ ถูกตั้งค่าเป็นชื่อไฟล์เต็มของ
คำสั่งและส่งผ่านไปยังคำสั่งนั้นในสภาพแวดล้อม

EXIT สถานภาพ


สถานะการออกของคำสั่งที่ดำเนินการคือค่าที่ส่งคืนโดย รอสักครู่ ระบบเรียกหรือ
ฟังก์ชั่นเทียบเท่า สถานะการออกอยู่ระหว่าง 0 ถึง 255 แม้ว่าตามที่อธิบายไว้ด้านล่าง
เชลล์อาจใช้ค่าที่สูงกว่า 125 เป็นพิเศษ สถานะออกจากเชลล์บิวด์อินและ
คำสั่งผสมยังจำกัดอยู่ในช่วงนี้ ภายใต้สถานการณ์บางอย่าง เปลือก
จะใช้ค่าพิเศษเพื่อระบุโหมดความล้มเหลวที่เฉพาะเจาะจง

สำหรับวัตถุประสงค์ของเชลล์ คำสั่งที่ออกโดยมีสถานะเป็นศูนย์ออกได้สำเร็จ หนึ่ง
สถานะออกของศูนย์บ่งชี้ความสำเร็จ สถานะการออกที่ไม่ใช่ศูนย์บ่งชี้ความล้มเหลว เมื่อ
คำสั่งสิ้นสุดลงเมื่อสัญญาณร้ายแรง N, ทุบตี ใช้ค่า 128+N เป็นสถานะการออก

หากไม่พบคำสั่ง โปรเซสลูกที่สร้างขึ้นเพื่อดำเนินการจะส่งกลับสถานะ
127. หากพบคำสั่งแต่ไม่สามารถดำเนินการได้ สถานะส่งคืนคือ 126

หากคำสั่งล้มเหลวเนื่องจากเกิดข้อผิดพลาดระหว่างการขยายหรือการเปลี่ยนเส้นทาง สถานะการออกคือ
มากกว่าศูนย์

คำสั่งในตัวของเชลล์ส่งคืนสถานะ 0 (จริง) ถ้าสำเร็จและไม่เป็นศูนย์ (เท็จ) ถ้า
เกิดข้อผิดพลาดขณะดำเนินการ บิวด์อินทั้งหมดส่งคืนสถานะทางออก 2 เพื่อบ่งชี้
การใช้งานที่ไม่ถูกต้อง

ทุบตี ตัวเองจะส่งคืนสถานะการออกของคำสั่งสุดท้ายที่ดำเนินการ เว้นแต่จะมีข้อผิดพลาดทางไวยากรณ์
เกิดขึ้น ซึ่งในกรณีนี้จะออกด้วยค่าที่ไม่ใช่ศูนย์ ดูเพิ่มเติมที่ ทางออก คำสั่งในตัว
ด้านล่าง

สัญญาณ


เมื่อ ทุบตี เป็นการโต้ตอบ หากไม่มีกับดักใด ๆ มันจะเพิกเฉย ซิกเทอร์ม (ดังนั้น ฆ่า 0
ไม่ฆ่าเชลล์แบบโต้ตอบ) และ ซิกนต์ ถูกจับและจัดการ (เพื่อให้ รอ
builtin ถูกขัดจังหวะ) ในทุกกรณี, ทุบตี ละเว้น ซิกควิท. หากการควบคุมงานอยู่ใน
ผลกระทบ ทุบตี ละเว้น ซิกติน, ซิกโตวและ ซิกทีเอสพี.

คำสั่งที่ไม่ใช่บิวด์อินที่เรียกใช้โดย ทุบตี มีตัวจัดการสัญญาณตั้งค่าเป็นค่าที่สืบทอดโดย
เชลล์จากพาเรนต์ เมื่อไม่มีการควบคุมงาน คำสั่งแบบอะซิงโครนัสจะละเว้น
ซิกนต์ และ ซิกควิท นอกเหนือจากตัวจัดการที่สืบทอดมาเหล่านี้ คำสั่งทำงานเป็นผลจาก
การแทนที่คำสั่งละเว้นสัญญาณควบคุมงานที่สร้างด้วยแป้นพิมพ์ ซิกติน, ซิกโตว,
และ ซิกทีเอสพี.

เชลล์ออกโดยปริยายเมื่อได้รับ a ซิกอัพ. ก่อนออกจากเชลล์แบบโต้ตอบ
ส่ง ซิกอัพ กับงานทั้งหมดไม่ว่าจะทำงานหรือหยุดทำงาน ส่งงานหยุด ซิกคอน ไปยัง
ตรวจสอบให้แน่ใจว่าพวกเขาได้รับ ซิกอัพ. เพื่อป้องกันไม่ให้เปลือกส่งสัญญาณไปยัง a
งานเฉพาะ ควรลบออกจากตารางงานด้วย ปฏิเสธ บิวอิน (ดู
SHELL สร้างขึ้น คำสั่ง ด้านล่าง) หรือทำเครื่องหมายว่าไม่ได้รับ ซิกอัพ การใช้ ปฏิเสธ -h.

ถ้า ปิด ตั้งค่าตัวเลือกเชลล์ด้วย ช๊อปปิ้ง, ทุบตี ส่งไฟล์ ซิกอัพ ไปทุกงาน
เมื่อออกจากเชลล์ล็อกอินแบบโต้ตอบ

If ทุบตี กำลังรอคำสั่งให้เสร็จสิ้นและรับสัญญาณที่กับดักมี
ถูกตั้งค่าแล้ว กับดักจะไม่ถูกดำเนินการจนกว่าคำสั่งจะเสร็จสิ้น เมื่อไหร่ ทุบตี กำลังรอ
สำหรับคำสั่งแบบอะซิงโครนัสผ่าน the รอ ในตัว การรับสัญญาณที่ a
กับดักที่ตั้งไว้จะทำให้ รอ ในตัวเพื่อกลับทันทีพร้อมสถานะออก
มากกว่า 128 ทันทีหลังจากที่ดักจับ

JOB ควบคุม


การสัมภาษณ์ ควบคุม หมายถึงความสามารถในการเลือกหยุด (แขวน) การดำเนินการของกระบวนการ
และดำเนินการต่อ (เรซูเม่) การดำเนินการของพวกเขาในภายหลัง ผู้ใช้มักใช้สิ่งนี้
สิ่งอำนวยความสะดวกผ่านอินเทอร์เฟซแบบโต้ตอบที่จัดหาร่วมกันโดยเคอร์เนลของระบบปฏิบัติการ
ไดรเวอร์เทอร์มินัลและ ทุบตี.

เปลือกเชื่อมโยง a งาน กับแต่ละท่อ มันเก็บตารางการดำเนินการในปัจจุบัน
ตำแหน่งงานที่อาจอยู่ในรายการกับ ตำแหน่งงาน สั่งการ. เมื่อไหร่ ทุบตี เริ่มงานแบบอะซิงโครนัส
(ใน พื้นหลัง) จะพิมพ์บรรทัดที่มีลักษณะดังนี้:

[เอกสารเก่า] ฮิต

ระบุว่างานนี้เป็นงานหมายเลข 1 และ ID กระบวนการของกระบวนการสุดท้ายใน
ไปป์ไลน์ที่เกี่ยวข้องกับงานนี้คือ 25647 กระบวนการทั้งหมดในไปป์ไลน์เดียว
เป็นสมาชิกงานเดียวกัน ทุบตี ใช้ งาน นามธรรมเป็นพื้นฐานสำหรับการควบคุมงาน

เพื่ออำนวยความสะดวกในการใช้งานอินเทอร์เฟซผู้ใช้เพื่อควบคุมงาน
ระบบรักษาแนวความคิดของ a ปัจจุบัน สถานีปลายทาง กระบวนการ กลุ่ม ID. สมาชิกของสิ่งนี้
กลุ่มกระบวนการ (กระบวนการที่มี ID กลุ่มกระบวนการเท่ากับกระบวนการปลายทางปัจจุบัน
ID กลุ่ม) รับสัญญาณที่สร้างจากแป้นพิมพ์เช่น ซิกนต์. กระบวนการเหล่านี้เรียกว่า
อยู่ใน เบื้องหน้า. พื้นหลัง กระบวนการคือกระบวนการที่ ID กลุ่มกระบวนการแตกต่างจาก
ของเทอร์มินัล; กระบวนการดังกล่าวไม่ได้รับผลกระทบจากสัญญาณที่สร้างจากคีย์บอร์ด เบื้องหน้าเท่านั้น
กระบวนการได้รับอนุญาตให้อ่านจากหรือหากผู้ใช้ระบุด้วย stty tostop ให้เขียนถึง
สถานีปลายทาง กระบวนการพื้นหลังที่พยายามอ่าน (เขียนถึงเมื่อ stty tostop
มีผลใช้บังคับ) เครื่องปลายทางจะถูกส่งไปยัง a ซิกติน (ซิกโต) สัญญาณโดยขั้วของเคอร์เนล
ไดรเวอร์ซึ่งหากไม่ถูกจับได้จะระงับกระบวนการ

หากระบบปฏิบัติการที่ ทุบตี กำลังทำงานรองรับการควบคุมงาน ทุบตี มี
อำนวยความสะดวกในการใช้งาน กำลังพิมพ์ แขวน อักขระ (โดยทั่วไป ^Z, Control-Z) ในขณะที่ a
กระบวนการทำงานอยู่ทำให้กระบวนการหยุดทำงานและส่งคืนการควบคุมไปยัง ทุบตี. กำลังพิมพ์
ล่าช้า แขวน อักขระ (โดยทั่วไป ^Y, Control-Y) ทำให้กระบวนการหยุดทำงาน
เมื่อพยายามอ่านอินพุตจากเทอร์มินัลและควบคุมที่จะส่งคืนไปยัง ทุบตี.
ผู้ใช้อาจจัดการสถานะของงานนี้โดยใช้ bg คำสั่งให้ดำเนินการต่อใน
เบื้องหลัง fg คำสั่งให้ดำเนินการต่อในเบื้องหน้าหรือ ฆ่า คำสั่งให้ฆ่า
มัน. ^Z มีผลทันทีและมีผลข้างเคียงเพิ่มเติมที่รอดำเนินการ
เอาต์พุตและการพิมพ์ล่วงหน้าที่จะทิ้ง

มีหลายวิธีในการอ้างถึงงานในเชลล์ บทบาท % แนะนำก
ลักษณะงาน (รายละเอียดงาน). หมายเลขงาน n อาจเรียกได้ว่า %n. งานก็อาจจะเป็น
อ้างถึงโดยใช้คำนำหน้าของชื่อที่ใช้เรียกชื่อนั้นหรือใช้สตริงย่อยที่ปรากฏขึ้น
ในบรรทัดคำสั่ง ตัวอย่างเช่น, %ซีอี หมายถึงหยุด ce งาน. หากคำนำหน้าตรงกัน
มากกว่าหนึ่งงาน ทุบตี รายงานข้อผิดพลาด โดยใช้ %?ซีในทางกลับกันหมายถึงใดๆ
งานที่มีสตริง ce ในบรรทัดคำสั่ง หากสตริงย่อยตรงกันมากกว่าหนึ่ง
งาน, ทุบตี รายงานข้อผิดพลาด สัญลักษณ์ %% และ %+ อ้างถึงความคิดของเปลือกของ
ปัจจุบัน งานซึ่งเป็นงานสุดท้ายที่หยุดในขณะที่ทำงานอยู่เบื้องหน้าหรือเริ่มทำงานใน
พื้นหลัง. ดิ ก่อน งาน อาจถูกอ้างอิงโดยใช้ %-. ถ้ามีตัวเดียว
งาน, %+ และ %- สามารถใช้ทั้งสองเพื่ออ้างถึงงานนั้น ในผลลัพธ์ที่เกี่ยวข้องกับงาน (เช่น
ผลลัพธ์ของ ตำแหน่งงาน คำสั่ง) งานปัจจุบันจะถูกตั้งค่าสถานะด้วย a . เสมอ +และ
งานก่อนหน้ากับ a -. % เดียว (โดยไม่มีข้อกำหนดของงานประกอบ) ยังหมายถึง
งานปัจจุบัน.

เพียงแค่การตั้งชื่องานก็สามารถนำไปใช้ในเบื้องหน้าได้: %1 เป็นคำพ้องความหมายสำหรับ ``ฟก
%1'', นำงานที่ 1 จากแบ็คกราวด์มาสู่โฟร์กราวด์ ในทำนองเดียวกัน ``%1 &'' การดำเนินการต่อ
งานที่ 1 อยู่เบื้องหลัง เทียบเท่ากับ `` ข %1''.

เชลล์เรียนรู้ทันทีเมื่อใดก็ตามที่งานเปลี่ยนสถานะ โดยทั่วไป, ทุบตี รอจนได้
กำลังจะพิมพ์ข้อความแจ้งก่อนรายงานการเปลี่ยนแปลงสถานะงานเพื่อไม่ให้
ขัดจังหวะเอาต์พุตอื่น ๆ ถ้า -b ตัวเลือก ชุด คำสั่งในตัวถูกเปิดใช้งาน ทุบตี
รายงานการเปลี่ยนแปลงดังกล่าวทันที กับดักใด ๆ บน ซิกชดี ถูกประหารชีวิตสำหรับเด็กแต่ละคนที่
ทางออก

หากพยายามที่จะออก ทุบตี เกิดขึ้นในขณะที่งานหยุดลง (หรือถ้า เช็คงาน เปลือก
เปิดใช้งานตัวเลือกโดยใช้ปุ่ม ช๊อปปิ้ง ในตัว, รัน), เชลล์พิมพ์คำเตือน
ข้อความ และถ้า เช็คงาน เปิดใช้งานตัวเลือก แสดงรายการงานและสถานะ ดิ
ตำแหน่งงาน คำสั่งสามารถใช้ตรวจสอบสถานะได้ หากพยายามออกครั้งที่สองคือ
ทำโดยไม่มีคำสั่งแทรกแซง เชลล์ไม่พิมพ์คำเตือนอื่นและใดๆ
งานที่หยุดจะถูกยกเลิก

พร้อมท์


เมื่อดำเนินการแบบโต้ตอบ ทุบตี แสดงพรอมต์หลัก PS1 เมื่อพร้อมที่จะ
อ่านคำสั่งและพรอมต์รอง PS2 เมื่อต้องการข้อมูลเพิ่มเติมเพื่อทำให้ a . สมบูรณ์
คำสั่ง ทุบตี อนุญาตให้ปรับแต่งสตริงพร้อมต์เหล่านี้ได้โดยการใส่จำนวน
อักขระพิเศษที่ใช้ Escape แบ็กสแลชที่ถอดรหัสดังนี้:
\a อักขระระฆัง ASCII (07)
\d วันที่ในรูปแบบ "วันเดือนที่วัน" (เช่น "อังคาร 26 พฤษภาคม")
\D{รูป}
รูป ถูกส่งผ่านไปยัง สตริฟไทม์(3) และผลลัพธ์จะถูกแทรกลงใน
สตริงพร้อมท์; ว่างเปล่า รูป ส่งผลให้มีเวลาเฉพาะสถานที่
การเป็นตัวแทน ต้องจัดฟัน
\e อักขระหลีก ASCII (033)
\h ชื่อโฮสต์ถึง `.' แรก
\H ชื่อโฮสต์
\j จำนวนงานที่จัดการโดยเชลล์ในปัจจุบัน
\l ชื่อฐานของชื่ออุปกรณ์ปลายทางของเชลล์
\n ขึ้นบรรทัดใหม่
\r คืนรถ
\s ชื่อของเปลือก, ชื่อฐานของ $0 (ส่วนต่อจากรอบชิงชนะเลิศ
เฉือน)
\t เวลาปัจจุบันในรูปแบบ 24 ชั่วโมง HH:MM:SS
\T เวลาปัจจุบันในรูปแบบ 12 ชั่วโมง HH:MM:SS
\@ เวลาปัจจุบันในรูปแบบ 12 ชั่วโมงก่อน/หลังเที่ยง
\A เวลาปัจจุบันในรูปแบบ HH:MM แบบ 24 ชั่วโมง
\u ชื่อผู้ใช้ของผู้ใช้ปัจจุบัน
\v เวอร์ชันของ ทุบตี (เช่น 2.00)
\V การเปิดตัวของ ทุบตี, เวอร์ชัน + ระดับแพตช์ (เช่น 2.00.0)
\w ไดเร็กทอรีการทำงานปัจจุบันด้วย $ HOME ย่อด้วย tilde (ใช้ the
มูลค่าของ PROMPT_DIRTRIM ตัวแปร)
\W ชื่อฐานของไดเร็กทอรีการทำงานปัจจุบันด้วย $ HOME ย่อด้วย
ตัวหนอน
\! หมายเลขประวัติของคำสั่งนี้
\# หมายเลขคำสั่งของคำสั่งนี้
\$ ถ้า UID ที่มีผลคือ 0, a #มิฉะนั้น a $
\มมมม อักขระที่ตรงกับเลขฐานแปด มมมม
\\ แบ็กสแลช
\[ เริ่มลำดับของอักขระที่ไม่พิมพ์ ซึ่งสามารถใช้เพื่อฝัง a
ลำดับการควบคุมเทอร์มินัลลงในพรอมต์
\] สิ้นสุดลำดับของอักขระที่ไม่พิมพ์

หมายเลขคำสั่งและหมายเลขประวัติมักจะแตกต่างกัน: หมายเลขประวัติของa
คำสั่งคือตำแหน่งในรายการประวัติซึ่งอาจรวมถึงคำสั่งที่กู้คืนจาก
ไฟล์ประวัติ (ดู ประวัติ ด้านล่าง) ในขณะที่หมายเลขคำสั่งคือตำแหน่งในลำดับ
ของคำสั่งที่ดำเนินการระหว่างเซสชันเชลล์ปัจจุบัน หลังจากถอดรหัสสตริงแล้ว จะเป็น
ขยายผ่านการขยายพารามิเตอร์ การแทนที่คำสั่ง การขยายเลขคณิต และเครื่องหมายคำพูด
การกำจัดขึ้นอยู่กับมูลค่าของ พรอมต์วาร์ ตัวเลือกเชลล์ (ดูคำอธิบายของ
ช๊อปปิ้ง คำสั่งภายใต้ SHELL สร้างขึ้น คำสั่ง ด้านล่าง)

อ่าน


นี่คือไลบรารีที่จัดการอินพุตการอ่านเมื่อใช้เชลล์แบบโต้ตอบ เว้นแต่
--ไม่มีการแก้ไข ตัวเลือกจะได้รับเมื่อเรียกใช้เชลล์ การแก้ไขเส้นยังใช้เมื่อใช้ปุ่ม
-e ตัวเลือก อ่าน สร้างขึ้น โดยค่าเริ่มต้น คำสั่งแก้ไขบรรทัดจะคล้ายกับคำสั่งเหล่านั้น
ของอีแมค นอกจากนี้ยังมีอินเทอร์เฟซการแก้ไขเส้นสไตล์ vi แก้ไขเส้นได้
เปิดใช้งานได้ตลอดเวลาโดยใช้ -o emacs or -o vi ตัวเลือกในการ ชุด บิวอิน (ดู SHELL
สร้างขึ้น คำสั่ง ด้านล่าง). หากต้องการปิดการแก้ไขบรรทัดหลังจากที่เชลล์ทำงาน ให้ใช้ปุ่ม +o
emacs or +o vi ตัวเลือกในการ ชุด สร้างขึ้น

ไลน์อ่าน เอกสาร
ในส่วนนี้ สัญกรณ์สไตล์ Emacs ใช้เพื่อแสดงถึงการกดแป้น ปุ่มควบคุมคือ
แสดงโดย C-สำคัญเช่น Cn หมายถึง Control-N ในทำนองเดียวกัน เมตา คีย์แสดงโดย M-สำคัญ,
ดังนั้น Mx จึงหมายถึง Meta-X (บนคีย์บอร์ดที่ไม่มี a เมตา คีย์ เอ็ม-x หมายถึง ESC x, คือ, กด
แป้น Escape แล้ว x กุญแจ. สิ่งนี้ทำให้ ESC the เมตา อุปสรรค. การรวมกัน MC-x วิธี
ESC-ควบคุม-xหรือกดปุ่ม Escape จากนั้นกดปุ่ม Control ค้างไว้ขณะกดปุ่ม x
สำคัญ.)

คำสั่ง readline อาจได้รับเป็นตัวเลข ข้อโต้แย้งซึ่งปกติจะทำหน้าที่เป็นการนับซ้ำ
อย่างไรก็ตาม บางครั้งก็เป็นสัญญาณของการโต้แย้งที่มีนัยสำคัญ ผ่าน
อาร์กิวเมนต์เชิงลบสำหรับคำสั่งที่ดำเนินการในทิศทางไปข้างหน้า (เช่น คิลไลน์) สาเหตุ
คำสั่งนั้นให้กระทำการย้อนกลับ คำสั่งที่มีพฤติกรรมที่มีการโต้แย้ง
เบี่ยงเบนไปจากสิ่งนี้ระบุไว้ด้านล่าง

เมื่อคำสั่งถูกอธิบายว่าเป็น ฆ่า ข้อความ ข้อความที่ถูกลบจะถูกบันทึกไว้สำหรับอนาคตที่เป็นไปได้
ดึงข้อมูล (แหย่). ข้อความที่ถูกฆ่าจะถูกบันทึกไว้ใน a ฆ่า แหวน. สาเหตุการฆ่าต่อเนื่อง
ข้อความที่จะรวบรวมเป็นหนึ่งหน่วย ซึ่งสามารถดึงทั้งหมดในครั้งเดียว คำสั่งซึ่ง
อย่าฆ่าข้อความแยกส่วนของข้อความบนวงแหวนฆ่า

ไลน์อ่าน การเขียนอักษรย่อ
Readline ถูกปรับแต่งโดยการใส่คำสั่งในไฟล์เริ่มต้น (the อินพุตอาร์ซี แฟ้ม)
ชื่อของไฟล์นี้นำมาจากค่าของ อินพุทอาร์ซี ตัวแปร. ถ้าตัวแปรนั้น
ไม่ได้ตั้งค่า ค่าเริ่มต้นคือ ~ / .inputrc. เมื่อโปรแกรมที่ใช้ไลบรารี readline
เริ่มทำงาน ไฟล์เริ่มต้นถูกอ่าน และตั้งค่าการเชื่อมโยงคีย์และตัวแปร
มีเพียงไม่กี่โครงสร้างพื้นฐานที่อนุญาตในไฟล์การเริ่มต้น readline ว่างเปล่า
เส้นจะถูกละเว้น บรรทัดที่ขึ้นต้นด้วย a # เป็นความคิดเห็น บรรทัดที่ขึ้นต้นด้วย a $
ระบุโครงสร้างแบบมีเงื่อนไข บรรทัดอื่นๆ แสดงถึงการเชื่อมโยงคีย์และการตั้งค่าตัวแปร

การโยงคีย์เริ่มต้นอาจเปลี่ยนด้วย an อินพุตอาร์ซี ไฟล์. โปรแกรมอื่นๆ ที่ใช้
ไลบรารีนี้อาจเพิ่มคำสั่งและการเชื่อมโยงของตนเอง

ตัวอย่างเช่น การวาง

M-Control-u: อาร์กิวเมนต์สากล
or
C-Meta-u: อาร์กิวเมนต์สากล
เข้าไปใน อินพุตอาร์ซี จะทำให้ Mcu รันคำสั่ง readline สากล-อาร์กิวเมนต์.

รู้จักชื่ออักขระสัญลักษณ์ต่อไปนี้: ถูออก, DEL, ESC, แอล.เอฟ.ดี, NEWLINE,
RET, กลับ, SPC, SPACEและ TAB.

นอกจากชื่อคำสั่งแล้ว readline ยังช่วยให้คีย์ถูกผูกไว้กับสตริงที่เป็น
แทรกเมื่อกดปุ่ม (a แมโคร).

ไลน์อ่าน คีย์ ผูก
ไวยากรณ์สำหรับควบคุมการโยงคีย์ใน อินพุตอาร์ซี ไฟล์เป็นเรื่องง่าย นั่นคือทั้งหมด
จำเป็นต้องใช้คือชื่อของคำสั่งหรือข้อความของมาโครและลำดับของคีย์ที่มัน
ควรจะผูกพัน ชื่อสามารถระบุได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธี: เป็นชื่อคีย์สัญลักษณ์
อาจจะด้วย เมตา - or ควบคุม- คำนำหน้าหรือเป็นลำดับคีย์

เมื่อใช้แบบฟอร์ม ชื่อคีย์:ชื่อฟังก์ชัน or แมโคร, ชื่อคีย์ เป็นชื่อตัวสะกด
ออกมาเป็นภาษาอังกฤษ ตัวอย่างเช่น:

Control-u: อาร์กิวเมนต์สากล
Meta-Rubout: ย้อนหลัง-kill-word
Control-o: "> เอาต์พุต"

ในตัวอย่างข้างต้น Cu ถูกผูกไว้กับฟังก์ชัน สากล-อาร์กิวเมนต์, เอ็มเดล ถูกผูกไว้กับ
ฟังก์ชั่น ย้อนหลัง-kill-wordและ โค ถูกผูกไว้เพื่อเรียกใช้แมโครที่แสดงทางด้านขวา
ข้างมือ (นั่นคือการแทรกข้อความ ``> output'' ลงในบรรทัด)

ในรูปแบบที่สอง "คีย์ซีค":ชื่อฟังก์ชัน or แมโคร, คีย์ แตกต่างจาก ชื่อคีย์ ข้างบนใน
สตริงที่แสดงถึงลำดับคีย์ทั้งหมดอาจระบุได้โดยการวางลำดับ
ภายในเครื่องหมายคำพูดคู่ สามารถใช้คีย์ Escape ของสไตล์ GNU Emacs ได้ดังตัวอย่างต่อไปนี้
ตัวอย่าง แต่ไม่รู้จักชื่ออักขระสัญลักษณ์

"\Cu": อาร์กิวเมนต์สากล
"\Cx\Cr": re-read-init-file
"\e[11~": "ปุ่มฟังก์ชัน 1"

ในตัวอย่างนี้ Cu ถูกผูกไว้กับฟังก์ชันอีกครั้ง สากล-อาร์กิวเมนต์. Cx Cr ถูกผูกไว้
เพื่อทำหน้าที่ อ่านไฟล์เริ่มต้นอีกครั้งและ ESC [ 1 1 ~ ถูกผูกไว้เพื่อแทรกข้อความ ``Function
คีย์ 1''

ชุด Escape ของสไตล์ GNU Emacs ครบชุดคือ
\ค- ควบคุมคำนำหน้า
\NS- คำนำหน้าเมตา
\e ตัวละครหนี
\\ แบ็กสแลช
\" ตามตัวอักษร "
\' ตัวอักษร '

นอกเหนือจากลำดับหลีกของสไตล์ GNU Emacs แล้ว ชุดที่สองของแบ็กสแลช Escape คือ
ที่มี:
\a การแจ้งเตือน (กระดิ่ง)
\b Backspace
\d ลบ
\f ฟีดรูปแบบ
\n ขึ้นบรรทัดใหม่
\r คืนรถ
\t แท็บแนวนอน
\v แท็บแนวตั้ง
\มมมม อักขระแปดบิตที่มีค่าเป็นค่าฐานแปด มมมม (หนึ่งถึงสาม
ตัวเลข)
\xHH อักขระแปดบิตที่มีค่าเป็นค่าเลขฐานสิบหก HH (หนึ่งหรือสอง
เลขฐานสิบหก)

เมื่อป้อนข้อความของมาโคร ต้องใช้เครื่องหมายคำพูดเดี่ยวหรือคู่เพื่อระบุ a
คำจำกัดความของมาโคร ข้อความที่ไม่มีเครื่องหมายอัญประกาศจะถือว่าเป็นชื่อฟังก์ชัน ในเนื้อความมาโคร the
แบ็กสแลช Escape ที่อธิบายข้างต้นถูกขยาย แบ็กสแลชจะอ้างอิงอักขระอื่น ๆ
ในข้อความมาโคร รวมทั้ง " และ '

ทุบตี อนุญาตให้แสดงหรือแก้ไขการเชื่อมโยงคีย์ readline ปัจจุบันด้วย ผูก
คำสั่งในตัว อาจเปลี่ยนโหมดแก้ไขระหว่างการใช้งานแบบโต้ตอบได้โดยใช้ปุ่ม -o
ตัวเลือก ชุด คำสั่งในตัว (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง)

ไลน์อ่าน ตัวแปร
Readline มีตัวแปรที่สามารถใช้เพื่อปรับแต่งพฤติกรรมเพิ่มเติมได้ ตัวแปรอาจ
อยู่ใน อินพุตอาร์ซี ไฟล์ที่มีคำสั่งของแบบฟอร์ม

ชุด ชื่อตัวแปร ความคุ้มค่า

ยกเว้นที่ระบุไว้ ตัวแปร readline สามารถรับค่าได้ On or Off (โดยไม่คำนึงถึง
กรณี). ชื่อตัวแปรที่ไม่รู้จักจะถูกละเว้น เมื่ออ่านค่าตัวแปร ให้ว่างหรือ
ค่า Null, "on" (ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) และ "1" เทียบเท่ากับ On. ค่าอื่นๆ ทั้งหมดคือ
เทียบเท่ากับ Off. ตัวแปรและค่าเริ่มต้นคือ:

แบบระฆัง (ได้ยิน)
ควบคุมสิ่งที่จะเกิดขึ้นเมื่อ readline ต้องการส่งเสียงกริ่งเทอร์มินัล หากตั้งค่าเป็น
ไม่มี, readline ไม่เคยกดกริ่ง หากตั้งค่าเป็น มองเห็นได้, readline ใช้ที่มองเห็นได้
กระดิ่งถ้ามี หากตั้งค่าเป็น ศรุต, readline พยายามโทรหา
ระฆังของเทอร์มินัล
bind-tty-พิเศษ-chars (บน)
หากตั้งค่าเป็น On, readline พยายามผูกอักขระควบคุมที่ได้รับการดูแลเป็นพิเศษโดย
ไดรเวอร์เทอร์มินัลของเคอร์เนลเทียบเท่ากับ readline
สถิติสี (ปิด)
หากตั้งค่าเป็น On, readline แสดงความสมบูรณ์ที่เป็นไปได้โดยใช้สีที่ต่างกันถึง
ระบุประเภทไฟล์ คำจำกัดความของสีนำมาจากค่าของ
LS_COLORS ตัวแปรสภาพแวดล้อม
แสดงความคิดเห็น-เริ่มต้น (``#'')
สตริงที่แทรกเมื่อ readline แทรกความคิดเห็น คำสั่งถูกดำเนินการ
คำสั่งนี้ถูกผูกไว้กับ NS-# ในโหมด emacs และถึง # ในโหมดคำสั่ง vi
เสร็จสิ้น-ละเว้นกรณี (ปิด)
หากตั้งค่าเป็น On, readline ดำเนินการจับคู่ชื่อไฟล์และทำให้สมบูรณ์ใน a
แฟชั่นที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
จบคำนำหน้าแสดงความยาว (0)
ความยาวเป็นอักขระของคำนำหน้าทั่วไปของรายการความสำเร็จที่เป็นไปได้
ที่แสดงโดยไม่มีการดัดแปลง เมื่อตั้งค่าเป็นค่าที่มากกว่าศูนย์
คำนำหน้าทั่วไปที่ยาวกว่าค่านี้จะถูกแทนที่ด้วยจุดไข่ปลาเมื่อ
แสดงความสมบูรณ์ที่เป็นไปได้
เสร็จสิ้นแบบสอบถามรายการ (100)
สิ่งนี้กำหนดเมื่อผู้ใช้ถูกสอบถามเกี่ยวกับการดูจำนวนที่เป็นไปได้
ความสำเร็จที่สร้างโดย เป็นไปได้-สำเร็จ สั่งการ. มันสามารถตั้งค่าเป็นใดๆ
ค่าจำนวนเต็มมากกว่าหรือเท่ากับศูนย์ หากจำนวนการสำเร็จที่เป็นไปได้
มากกว่าหรือเท่ากับค่าของตัวแปรนี้ ผู้ใช้จะถูกถามว่า
หรือไม่ปรารถนาจะดูพวกเขา มิฉะนั้นจะแสดงรายการบนเครื่องเทอร์มินัล
แปลง meta (บน)
หากตั้งค่าเป็น On, readline จะแปลงอักขระด้วยบิตที่แปดที่ตั้งค่าเป็น ASCII
ลำดับคีย์โดยปอกบิตที่แปดและนำหน้าอักขระหลีก (in
ผลโดยใช้การหลบหนีเป็น เมตา อุปสรรค).
ปิดการใช้งาน-เสร็จสิ้น (ปิด)
หากตั้งค่าเป็น On, readline จะขัดขวางการเติมคำให้สมบูรณ์ ตัวอักษรที่เสร็จสมบูรณ์จะเป็น
แทรกเข้าไปในบรรทัดราวกับว่ามันถูกแมปกับ ใส่เอง.
โหมดแก้ไข (อีแมค)
ควบคุมว่า readline เริ่มต้นด้วยชุดของการโยงคีย์ที่คล้ายกับ Emacs or vi.
โหมดแก้ไข สามารถตั้งค่าเป็นทั้ง emacs or vi.
echo-control-ตัวอักษร (บน)
เมื่อตั้งค่าเป็น On, บนระบบปฏิบัติการที่ระบุว่ารองรับ, readline echoes
อักขระที่สอดคล้องกับสัญญาณที่สร้างจากแป้นพิมพ์
เปิดใช้งานปุ่มกด (ปิด)
เมื่อตั้งค่าเป็น On, readline จะพยายามเปิดใช้งานปุ่มกดของแอปพลิเคชันเมื่อเป็น
เรียกว่า. บางระบบต้องการสิ่งนี้เพื่อเปิดใช้งานปุ่มลูกศร
เปิดใช้งานเมตาคีย์ (บน)
เมื่อตั้งค่าเป็น On, readline จะพยายามเปิดใช้งานคีย์ตัวแก้ไขเมตาใด ๆ ที่เทอร์มินัล
อ้างว่าสนับสนุนเมื่อมีการเรียก ในเทอร์มินัลจำนวนมาก เมตาคีย์ถูกใช้เพื่อ
ส่งอักขระแปดบิต
ขยายตัวหนอน (ปิด)
หากตั้งค่าเป็น On, การขยายตัวหนอนจะดำเนินการเมื่อ readline พยายามทำให้คำสมบูรณ์
ประวัติศาสตร์-รักษาจุด (ปิด)
หากตั้งค่าเป็น On, รหัสประวัติพยายามวางจุดไว้ที่ตำแหน่งเดียวกันในแต่ละอัน
สายประวัติศาสตร์ดึงด้วย ก่อนหน้า-ประวัติศาสตร์ or หน้าประวัติศาสตร์.
ประวัติศาสตร์ขนาด (0)
ตั้งค่าจำนวนสูงสุดของรายการประวัติที่บันทึกไว้ในรายการประวัติ หากตั้งค่าเป็น
ศูนย์ รายการประวัติที่มีอยู่จะถูกลบและจะไม่มีการบันทึกรายการใหม่ ถ้า
ตั้งค่าให้น้อยกว่าศูนย์ ไม่จำกัดจำนวนรายการประวัติ โดย
ค่าเริ่มต้น จำนวนรายการประวัติไม่จำกัด
โหมดเลื่อนแนวนอน (ปิด)
เมื่อตั้งค่าเป็น On, ทำให้ readline ใช้บรรทัดเดียวในการแสดง, เลื่อนอินพุต
แนวนอนบนบรรทัดหน้าจอเดียวเมื่อยาวกว่าความกว้างของหน้าจอ
แทนที่จะขึ้นบรรทัดใหม่
อินพุต meta (ปิด)
หากตั้งค่าเป็น On, readline จะเปิดใช้งานอินพุตแปดบิต (นั่นคือจะไม่ตัด
บิตสูงจากอักขระที่อ่าน) ไม่ว่าเทอร์มินัลจะอ้างสิทธิ์อะไร
สามารถรองรับ ชื่อ เมตาแฟล็ก เป็นคำพ้องความหมายสำหรับตัวแปรนี้
isearch-เทอร์มิเนเตอร์ (``ซี-[ซี-เจ'')
สตริงของอักขระที่ควรยุติการค้นหาที่เพิ่มขึ้นโดยไม่ต้อง
ต่อมารันอักขระตามคำสั่ง หากตัวแปรนี้ยังไม่ได้
ให้ค่าตัวอักษร ESC และ CJ จะยุติการค้นหาที่เพิ่มขึ้น
คีย์แมป (อีแมค)
ตั้งค่าคีย์แมป readline ปัจจุบัน ชุดของชื่อคีย์แมปที่ถูกต้องคือ อีแมค
emacs-มาตรฐาน, emacs-เมตา, emacs-ctlx, วี vi-คำสั่งและ vi-แทรก. vi is
เทียบเท่ากับ vi-คำสั่ง; emacs เทียบเท่ากับ emacs-มาตรฐาน. ค่าเริ่มต้น
is emacs; คุณค่าของ โหมดแก้ไข ยังส่งผลต่อคีย์แมปเริ่มต้น
keyseq-หมดเวลา (500)
ระบุระยะเวลา ReadLine จะรอตัวอักษรเมื่ออ่านคลุมเครือ
ลำดับคีย์ (ลำดับที่สามารถสร้างลำดับคีย์ที่สมบูรณ์ได้โดยใช้อินพุต read so
ไกลหรือสามารถป้อนข้อมูลเพิ่มเติมเพื่อดำเนินการลำดับคีย์ที่ยาวขึ้นได้) หากไม่มีอินพุต
ได้รับภายในเวลาที่กำหนด ReadLine จะใช้คีย์ที่สั้นกว่า แต่สมบูรณ์
ลำดับ. ค่าถูกระบุเป็นมิลลิวินาที ดังนั้นค่า 1000 หมายความว่า
ReadLine จะรอหนึ่งวินาทีสำหรับข้อมูลเพิ่มเติม หากตัวแปรนี้ถูกตั้งค่าเป็น a
ค่าน้อยกว่าหรือเท่ากับศูนย์หรือค่าที่ไม่ใช่ตัวเลข ReadLine จะรอ
จนกว่าจะมีการกดปุ่มอื่นเพื่อตัดสินใจว่าจะเรียงลำดับคีย์ใดให้เสร็จสิ้น
เครื่องหมายไดเรกทอรี (บน)
หากตั้งค่าเป็น On, ชื่อไดเร็กทอรีที่กรอกมีเครื่องหมายสแลชต่อท้าย
เครื่องหมายแก้ไขบรรทัด (ปิด)
หากตั้งค่าเป็น On, บรรทัดประวัติที่ได้รับการแก้ไขจะแสดงด้วย . นำหน้า
เครื่องหมายดอกจัน (*).
เครื่องหมาย symlinked ไดเรกทอรี (ปิด)
หากตั้งค่าเป็น On, ชื่อที่สมบูรณ์ซึ่งเป็นลิงค์สัญลักษณ์ไปยังไดเร็กทอรีมีเครื่องหมายทับ
ต่อท้าย (ขึ้นอยู่กับมูลค่าของ เครื่องหมายไดเรกทอรี).
จับคู่ซ่อนไฟล์ (บน)
ตัวแปรนี้เมื่อตั้งค่าเป็น Onทำให้ readline ตรงกับไฟล์ที่มีชื่อขึ้นต้น
ด้วย `.' (ไฟล์ที่ซ่อนอยู่) เมื่อดำเนินการเสร็จสิ้นชื่อไฟล์ หากตั้งค่าเป็น Offที่
ชั้นนำ `.' ต้องระบุโดยผู้ใช้ในชื่อไฟล์จึงจะเสร็จสมบูรณ์
เมนูสมบูรณ์-แสดงคำนำหน้า (ปิด)
หากตั้งค่าเป็น On, เมนูเสร็จสิ้นจะแสดงคำนำหน้าทั่วไปของรายการที่เป็นไปได้
เสร็จสิ้น (ซึ่งอาจว่างเปล่า) ก่อนวนรอบรายการ
ผลลัพธ์ meta (ปิด)
หากตั้งค่าเป็น On, readline จะแสดงอักขระด้วยชุดบิตที่แปดโดยตรง
แทนที่จะเป็นลำดับ Escape ที่นำหน้าด้วยเมตา
หน้าเสร็จ (บน)
หากตั้งค่าเป็น On, readline ใช้ internal ข้อมูลเพิ่มเติม-like เพจเจอร์เพื่อแสดงหน้าจอของ
เสร็จสิ้นที่เป็นไปได้ในแต่ละครั้ง
พิมพ์เสร็จ-แนวนอน (ปิด)
หากตั้งค่าเป็น On, readline จะแสดงการเสร็จสิ้นด้วยการจับคู่ที่เรียงตามแนวนอนใน
เรียงตามตัวอักษรมากกว่าลงหน้าจอ
ย้อนกลับทั้งหมดเมื่อขึ้นบรรทัดใหม่ (ปิด)
หากตั้งค่าเป็น On, readline จะเลิกทำการเปลี่ยนแปลงทั้งหมดในบรรทัดประวัติก่อนที่จะกลับมาเมื่อ
รับสาย ถูกดำเนินการ โดยค่าเริ่มต้น บรรทัดประวัติอาจถูกแก้ไขและคงไว้
ยกเลิกแต่ละรายการระหว่างการโทรไปยัง ReadLine.
แสดงทั้งหมดถ้าคลุมเครือ (ปิด)
การดำเนินการนี้จะเปลี่ยนแปลงการทำงานเริ่มต้นของฟังก์ชันการทำงานให้สมบูรณ์ หากตั้งค่าเป็น On, คำ
ซึ่งมีความเป็นไปได้มากกว่าหนึ่งครั้งทำให้รายการตรงกัน
ทันทีแทนที่จะกดกริ่ง
แสดงทั้งหมดหากไม่ได้แก้ไข (ปิด)
สิ่งนี้จะเปลี่ยนพฤติกรรมเริ่มต้นของฟังก์ชันการทำให้สมบูรณ์ในลักษณะที่คล้ายกัน
ไปยัง แสดงทั้งหมดถ้าคลุมเครือ. หากตั้งค่าเป็น On, คำที่มีความเป็นไปได้มากกว่าหนึ่งคำ
เสร็จสมบูรณ์โดยไม่มีการเสร็จสิ้นบางส่วนที่เป็นไปได้ (ความสมบูรณ์ที่เป็นไปได้ไม่
ใช้คำนำหน้าร่วมกัน) ทำให้รายการตรงกันทันทีแทน
เสียงระฆัง
แสดงโหมดในพร้อมท์ (ปิด)
หากตั้งค่าเป็น On, เพิ่มอักขระที่จุดเริ่มต้นของพรอมต์ที่ระบุการแก้ไข
โหมด: emacs (@), คำสั่ง vi (:) หรือการแทรก vi (+)
ข้ามเสร็จข้อความ (ปิด)
หากตั้งค่าเป็น Onสิ่งนี้จะเปลี่ยนพฤติกรรมการทำให้สมบูรณ์เริ่มต้นเมื่อแทรก single
เข้าเส้น. ใช้งานได้เฉพาะเมื่อดำเนินการเสร็จสิ้นในช่วงกลางของ
คำ. หากเปิดใช้งาน readline จะไม่แทรกอักขระจากการกรอกที่
จับคู่อักขระหลังจากจุดในคำที่เสร็จสมบูรณ์ ดังนั้นบางส่วนของคำ
ตามเคอร์เซอร์จะไม่ซ้ำกัน
สถิติที่มองเห็นได้ (ปิด)
หากตั้งค่าเป็น On, อักขระที่แสดงถึงประเภทของไฟล์ตามที่รายงานโดย stat(2) ต่อท้าย
ไปยังชื่อไฟล์เมื่อแสดงรายการความสมบูรณ์ที่เป็นไปได้

ไลน์อ่าน เงื่อนไข สร้าง
Readline ใช้สิ่งอำนวยความสะดวกที่คล้ายกับคุณลักษณะการรวบรวมตามเงื่อนไข
ของตัวประมวลผลล่วงหน้า C ซึ่งอนุญาตให้ทำการผูกคีย์และการตั้งค่าตัวแปรเป็น
ผลการทดสอบ มีสี่คำสั่ง parser ที่ใช้

$ถ้า พื้นที่ $ถ้า construct อนุญาตให้ทำการผูกตามโหมดการแก้ไข the
เทอร์มินัลที่กำลังใช้งาน หรือแอปพลิเคชันที่ใช้ readline ข้อความของการทดสอบ
ขยายไปถึงท้ายบรรทัด ไม่จำเป็นต้องมีอักขระเพื่อแยกออก

โหมด พื้นที่ โหมด= รูปแบบของ $ถ้า คำสั่งใช้เพื่อทดสอบว่า readline อยู่ใน .หรือไม่
emacs หรือโหมด vi อาจใช้ร่วมกับ ชุด คีย์แมป
คำสั่ง เช่น ตั้งค่าการผูกใน emacs-มาตรฐาน และ emacs-ctlx.dll
คีย์แมปก็ต่อเมื่อ readline เริ่มต้นในโหมด emacs

ระยะ พื้นที่ เทอม= แบบฟอร์มอาจใช้เพื่อรวมการผูกคีย์เฉพาะเทอร์มินัล
อาจจะผูกผลลัพธ์ของลำดับคีย์โดยปุ่มฟังก์ชันของเทอร์มินัล
คำทางด้านขวาของ = มีการทดสอบกับทั้งชื่อเต็มของ
เทอร์มินัลและส่วนของชื่อเทอร์มินัลก่อนตัวแรก -. นี้
ช่วยให้ ดวงอาทิตย์ เพื่อให้เข้าคู่กัน ดวงอาทิตย์ และ ซัน-cmdตัวอย่างเช่น

ใบสมัคร
พื้นที่ ใบสมัคร construct ใช้เพื่อรวมการตั้งค่าเฉพาะแอปพลิเคชัน
แต่ละโปรแกรมที่ใช้ไลบรารี readline จะตั้งค่า ใบสมัคร ชื่อและ
ไฟล์เริ่มต้นสามารถทดสอบค่าเฉพาะได้ สามารถใช้เพื่อ
ผูกลำดับคีย์กับฟังก์ชันที่เป็นประโยชน์สำหรับโปรแกรมเฉพาะ สำหรับ
ตัวอย่างเช่น คำสั่งต่อไปนี้จะเพิ่มลำดับคีย์ที่อ้างอิงค่าปัจจุบัน
หรือคำก่อนหน้าใน ทุบตี:

$ถ้า ทุบตี
# อ้างคำปัจจุบันหรือก่อนหน้า
"\C-xq": "\eb\"\ef\""
$endif

$endif คำสั่งนี้ ดังที่เห็นในตัวอย่างก่อนหน้านี้ ยุติ an $ถ้า คำสั่ง

$ อื่น ๆ คำสั่งในสาขานี้ของ $ถ้า คำสั่งจะดำเนินการหากการทดสอบล้มเหลว

$ รวม
คำสั่งนี้ใช้ชื่อไฟล์เดียวเป็นอาร์กิวเมนต์และอ่านคำสั่งและ
การผูกมัดจากไฟล์นั้น ตัวอย่างเช่น คำสั่งต่อไปนี้จะอ่าน
/etc/inputrc:

$ รวม /etc/inputrc

ค้นหา
Readline จัดเตรียมคำสั่งสำหรับการค้นหาผ่านประวัติคำสั่ง (see ประวัติ ด้านล่าง)
สำหรับบรรทัดที่มีสตริงที่ระบุ มีสองโหมดการค้นหา: ที่เพิ่มขึ้น และ ไม่
ที่เพิ่มขึ้น.

การค้นหาส่วนเพิ่มเริ่มต้นก่อนที่ผู้ใช้จะพิมพ์สตริงการค้นหาเสร็จ ตามที่แต่ละคน
พิมพ์อักขระของสตริงการค้นหา readline แสดงรายการถัดไปจาก history
ตรงกับสตริงที่พิมพ์จนถึงตอนนี้ การค้นหาแบบเพิ่มหน่วยต้องใช้อักขระจำนวนมากเท่านั้น
ตามความจำเป็นเพื่อค้นหารายการประวัติที่ต้องการ อักขระที่มีอยู่ในค่าของ
isearch-เทอร์มิเนเตอร์ ตัวแปรใช้เพื่อยุติการค้นหาที่เพิ่มขึ้น ถ้าอย่างนั้น
ตัวแปรไม่ได้รับการกำหนดค่าที่อักขระ Escape และ Control-J จะสิ้นสุด
การค้นหาที่เพิ่มขึ้น Control-G จะยกเลิกการค้นหาที่เพิ่มขึ้นและคืนค่า
เส้นเดิม. เมื่อการค้นหาสิ้นสุดลง รายการประวัติที่มีการค้นหา
string กลายเป็นบรรทัดปัจจุบัน

หากต้องการค้นหารายการที่ตรงกันอื่นๆ ในรายการประวัติ ให้พิมพ์ Control-S หรือ Control-R as
เหมาะสม. สิ่งนี้จะค้นหาย้อนหลังหรือไปข้างหน้าในประวัติสำหรับรายการถัดไป
ตรงกับสตริงการค้นหาที่พิมพ์ไว้ ลำดับคีย์อื่นๆ ที่ผูกไว้กับ readline
คำสั่งจะยุติการค้นหาและดำเนินการคำสั่งนั้น ตัวอย่างเช่น a ขึ้นบรรทัดใหม่ จะ
ยุติการค้นหาและยอมรับบรรทัดจึงดำเนินการคำสั่งจากประวัติ
รายการ.

Readline จำสตริงการค้นหาที่เพิ่มขึ้นล่าสุด หากพิมพ์ Control-R สองตัว
โดยไม่มีอักขระใดๆ ขวางกั้นซึ่งกำหนดสตริงการค้นหาใหม่ การค้นหาใดๆ ที่จำได้
ใช้สตริง

การค้นหาที่ไม่เพิ่มขึ้นจะอ่านสตริงการค้นหาทั้งหมดก่อนที่จะเริ่มค้นหา
เส้นประวัติศาสตร์ที่ตรงกัน ผู้ใช้อาจพิมพ์สตริงการค้นหาหรือเป็นส่วนหนึ่งของ
เนื้อหาของบรรทัดปัจจุบัน

ไลน์อ่าน คำสั่ง ชื่อ
ต่อไปนี้เป็นรายการชื่อของคำสั่งและลำดับคีย์เริ่มต้นถึง
ที่พวกเขาผูกพัน ชื่อคำสั่งที่ไม่มีลำดับคีย์ประกอบจะไม่มีการผูกมัดโดย
ค่าเริ่มต้น. ในคำอธิบายต่อไปนี้ จุด หมายถึงตำแหน่งเคอร์เซอร์ปัจจุบันและ
เครื่องหมาย หมายถึงตำแหน่งเคอร์เซอร์ที่บันทึกโดย ชุดเครื่องหมาย สั่งการ. ข้อความระหว่าง
จุดและเครื่องหมายเรียกว่า ภูมิภาค.

คำสั่ง for ย้าย
ขึ้นต้นบรรทัด (แคลิฟอร์เนีย)
ย้ายไปที่จุดเริ่มต้นของบรรทัดปัจจุบัน
ปลายสาย (ซี)
ย้ายไปยังจุดสิ้นสุดของบรรทัด
ส่งต่อถ่าน (ซีเอฟ)
ย้ายไปข้างหน้าอักขระ
ถอยหลัง-char (ซีบี)
ย้ายกลับตัวละคร
คำข้างหน้า (เอ็มเอฟ)
เลื่อนไปข้างหน้าไปยังจุดสิ้นสุดของคำถัดไป คำประกอบด้วยตัวอักษรและตัวเลข
อักขระ (ตัวอักษรและตัวเลข)
ย้อนกลับคำ (เมกะไบต์)
ย้ายกลับไปที่จุดเริ่มต้นของคำปัจจุบันหรือก่อนหน้า คำประกอบด้วย
ตัวอักษรและตัวเลข (ตัวอักษรและตัวเลข)
เชลล์ไปข้างหน้าคำ
เลื่อนไปข้างหน้าไปยังจุดสิ้นสุดของคำถัดไป คำต่างๆ คั่นด้วยเชลล์ที่ไม่มีเครื่องหมายคำพูด
อักขระเมตา
เชลล์ย้อนกลับคำ
ย้ายกลับไปที่จุดเริ่มต้นของคำปัจจุบันหรือก่อนหน้า คำต่างๆ คั่นด้วย
อักขระเมตาของเชลล์ที่ไม่อยู่ในเครื่องหมายคำพูด
หน้าจอใส (ซีแอล)
ล้างหน้าจอโดยปล่อยให้บรรทัดปัจจุบันอยู่ที่ด้านบนของหน้าจอ ด้วย an
อาร์กิวเมนต์ รีเฟรชบรรทัดปัจจุบันโดยไม่ต้องล้างหน้าจอ
วาดเส้นปัจจุบันใหม่
รีเฟรชบรรทัดปัจจุบัน

คำสั่ง for การจัดการ ประวัติขององค์กร
รับสาย (ขึ้นบรรทัดใหม่ กลับ)
ยอมรับบรรทัดไม่ว่าเคอร์เซอร์จะอยู่ที่ใด หากบรรทัดนี้ไม่ว่าง ให้เติม
ลงในรายการประวัติศาสตร์ตามสถานะของ ฮิสคอนโทรล ตัวแปร. ถ้า
บรรทัดคือบรรทัดประวัติที่แก้ไขแล้วคืนค่าบรรทัดประวัติเป็นต้นฉบับ
รัฐ
ก่อนหน้า-ประวัติศาสตร์ (ซีพี)
ดึงคำสั่งก่อนหน้าจากรายการประวัติ ย้ายกลับมาในรายการ
หน้าประวัติศาสตร์ (ซีเอ็น)
ดึงคำสั่งถัดไปจากรายการประวัติ ก้าวไปข้างหน้าในรายการ
จุดเริ่มต้นของประวัติศาสตร์ (ม-<)
ย้ายไปยังบรรทัดแรกในประวัติศาสตร์
จุดจบของประวัติศาสตร์ (ม->)
ย้ายไปยังจุดสิ้นสุดของประวัติการป้อนข้อมูล กล่าวคือ บรรทัดที่กำลังป้อน
ย้อนการค้นหาประวัติ (Cr)
ค้นหาย้อนหลังโดยเริ่มต้นที่บรรทัดปัจจุบันและเลื่อน `ขึ้น' ผ่านประวัติเป็น
จำเป็น. นี่คือการค้นหาที่เพิ่มขึ้น
Forward-Search-history (ซี)
ค้นหาไปข้างหน้าโดยเริ่มจากบรรทัดปัจจุบันและเลื่อน `ลง' ผ่านประวัติ
ตามความจำเป็น นี่คือการค้นหาที่เพิ่มขึ้น
ประวัติการค้นหาแบบย้อนกลับแบบไม่เพิ่มขึ้น (เอ็มพี)
ค้นหาย้อนหลังผ่านประวัติโดยเริ่มต้นที่บรรทัดปัจจุบันโดยใช้
การค้นหาที่เพิ่มขึ้นสำหรับสตริงที่ผู้ใช้ให้มา
ประวัติการค้นหาไปข้างหน้าแบบไม่เพิ่มขึ้น (นาที)
ค้นหาไปข้างหน้าผ่านประวัติโดยใช้การค้นหาสตริงที่ไม่เพิ่มขึ้น
จัดทำโดยผู้ใช้
ประวัติการค้นหาไปข้างหน้า
ค้นหาไปข้างหน้าผ่านประวัติสำหรับสตริงอักขระระหว่าง start
ของเส้นปัจจุบันและจุด นี่คือการค้นหาที่ไม่เพิ่มขึ้น
ประวัติการค้นหาย้อนหลัง
ค้นหาย้อนหลังผ่านประวัติสำหรับสตริงอักขระระหว่าง start
ของเส้นปัจจุบันและจุด นี่คือการค้นหาที่ไม่เพิ่มขึ้น
ดึง-nth-arg (เอ็มซี)
แทรกอาร์กิวเมนต์แรกลงในคำสั่งก่อนหน้า (โดยปกติคือคำที่สองบน
บรรทัดที่แล้ว) ณ จุด ด้วยการโต้เถียง nใส่ไฟล์ nคำที่จากครั้งก่อน
คำสั่ง (คำในคำสั่งก่อนหน้าเริ่มต้นด้วยคำ 0) อาร์กิวเมนต์เชิงลบ
แทรก nth คำจากจุดสิ้นสุดของคำสั่งก่อนหน้า เมื่อโต้เถียง n is
คำนวณแล้ว อาร์กิวเมนต์จะถูกดึงออกมาราวกับว่า "!n" การขยายประวัติศาสตร์ได้รับ
ระบุไว้
ดึงสุดท้ายหาเรื่อง (ม-., ม-_)
แทรกอาร์กิวเมนต์สุดท้ายไปยังคำสั่งก่อนหน้า (คำสุดท้ายของ Previous
รายการประวัติศาสตร์) ด้วยอาร์กิวเมนต์ที่เป็นตัวเลข ให้ทำตัวเหมือน ดึง-nth-arg.
โทรต่อเนื่องไปที่ ดึงสุดท้ายหาเรื่อง ย้อนกลับผ่านรายการประวัติโดยแทรก
คำสุดท้าย (หรือคำที่ระบุโดยอาร์กิวเมนต์สำหรับการโทรครั้งแรก) ของแต่ละบรรทัดใน
เปลี่ยน. อาร์กิวเมนต์ตัวเลขใด ๆ ที่ให้มากับการเรียกที่ต่อเนื่องกันเหล่านี้จะกำหนด
ทิศทางที่จะก้าวผ่านประวัติศาสตร์ อาร์กิวเมนต์เชิงลบเปลี่ยนทิศทาง
ผ่านประวัติ (ย้อนกลับหรือไปข้างหน้า) ใช้สิ่งอำนวยความสะดวกการขยายประวัติศาสตร์
เพื่อแยกคำสุดท้าย ราวกับว่ามีการระบุการขยายประวัติ "!$"
เชลล์ขยายบรรทัด (เอ็มซี)
ขยายเส้นตามที่เชลล์ทำ การดำเนินการนี้ใช้นามแฝงและการขยายประวัติเป็น
รวมถึงการขยายคำเชลล์ทั้งหมด ดู ประวัติ ขยาย ด้านล่างสำหรับ a
คำอธิบายของการขยายประวัติศาสตร์
ประวัติศาสตร์-ขยายบรรทัด (ม-^)
ดำเนินการขยายประวัติในบรรทัดปัจจุบัน ดู ประวัติ ขยาย ด้านล่างสำหรับ a
คำอธิบายของการขยายประวัติศาสตร์
เวทย์มนตร์อวกาศ
ดำเนินการขยายประวัติในบรรทัดปัจจุบันและแทรกช่องว่าง ดู ประวัติ
ขยาย ด้านล่างสำหรับคำอธิบายการขยายประวัติศาสตร์
นามแฝงขยายบรรทัด
ดำเนินการขยายนามแฝงในบรรทัดปัจจุบัน ดู นามแฝง ด้านบนสำหรับคำอธิบาย
ของการขยายนามแฝง
ประวัติศาสตร์และนามแฝงขยายบรรทัด
ดำเนินการขยายประวัติและนามแฝงในบรรทัดปัจจุบัน
แทรกสุดท้ายอาร์กิวเมนต์ (ม-., ม-_)
คำพ้องความหมายสำหรับ ดึงสุดท้ายหาเรื่อง.
ดำเนินการและรับถัดไป (ร่วม)
ยอมรับบรรทัดปัจจุบันสำหรับการดำเนินการและดึงบรรทัดถัดไปที่สัมพันธ์กับ
บรรทัดปัจจุบันจากประวัติสำหรับการแก้ไข อาร์กิวเมนต์ใด ๆ จะถูกละเว้น
แก้ไขและดำเนินการคำสั่ง (ค-xค-จ)
เรียกใช้ตัวแก้ไขบนบรรทัดคำสั่งปัจจุบัน และดำเนินการผลลัพธ์เป็นshell
คำสั่ง ทุบตี พยายามที่จะเรียก $วิชวล, $ EDITORและ emacs เป็นบรรณาธิการใน
คำสั่งนั้น

คำสั่ง for เปลี่ยนแปลง ข้อความ
ท้ายไฟล์ (โดยปกติ ซีดี)
อักขระที่ระบุจุดสิ้นสุดของไฟล์เป็นชุด ตัวอย่างเช่น โดย ``stty'' ถ้านี้
อักขระจะถูกอ่านเมื่อไม่มีอักขระในบรรทัด และจุดอยู่ที่
จุดเริ่มต้นของบรรทัด Readline ตีความว่าเป็นจุดสิ้นสุดของอินพุตและส่งกลับ EOF.
ลบถ่าน (ซีดี)
ลบอักขระที่จุด หากฟังก์ชันนี้ผูกกับอักขระเดียวกับ
tty EOF ตัวละคร as ซีดี โดยทั่วไปคือดูเอฟเฟกต์ด้านบน
ย้อนกลับ-ลบ-char (ถูออก)
ลบอักขระที่อยู่ด้านหลังเคอร์เซอร์ เมื่อได้รับอาร์กิวเมนต์ตัวเลข ให้บันทึก
ข้อความที่ถูกลบบนวงแหวนสังหาร
เดินหน้า-ถอยหลัง-ลบ-char
ลบอักขระที่อยู่ใต้เคอร์เซอร์ เว้นแต่เคอร์เซอร์จะอยู่ที่ท้ายบรรทัด
ในกรณีนี้ อักขระที่อยู่ด้านหลังเคอร์เซอร์จะถูกลบออก
อ้าง-แทรก (ซีคิว, ประวัติย่อ)
เพิ่มอักขระถัดไปที่พิมพ์ลงในบรรทัดคำต่อคำ นี่คือวิธีการใส่
ตัวละครที่ชอบ Cqยกตัวอย่างเช่น
แท็บแทรก (ประวัติย่อ แท็บ)
แทรกอักขระแท็บ
ใส่เอง (ก, b, A, 1, !, ... )
ใส่อักขระที่พิมพ์
ย้ายตัวอักษร (กะรัต)
ลากอักขระก่อนชี้ไปข้างหน้าเหนืออักขระที่จุด ย้ายจุด
ไปข้างหน้าเช่นกัน ถ้าจุดอยู่ที่จุดสิ้นสุดของเส้น แล้วนี่จะสลับสอง
ตัวอักษรก่อนจุด อาร์กิวเมนต์เชิงลบไม่มีผล
แปลคำ (ภูเขา)
ลากคำก่อนจุดผ่านคำแล้วจุดต่อจุด ย้ายจุดเหนือคำนั้น
เช่นกัน. ถ้า point อยู่ท้ายบรรทัด จะสลับสองคำสุดท้ายบน
เส้น.
ตัวพิมพ์ใหญ่คำ (มู)
ตัวพิมพ์ใหญ่ของคำปัจจุบัน (หรือที่ตามมา) ด้วยอาร์กิวเมนต์เชิงลบ ตัวพิมพ์ใหญ่ the
คำก่อนหน้า แต่อย่าย้ายจุด
downcase-คำ (มล.)
ตัวพิมพ์เล็กของคำปัจจุบัน (หรือที่ตามมา) ด้วยอาร์กิวเมนต์เชิงลบ ตัวพิมพ์เล็ก the
คำก่อนหน้า แต่อย่าย้ายจุด
ตัวพิมพ์ใหญ่-คำ (แม็ค)
ใช้ตัวพิมพ์ใหญ่กับคำปัจจุบัน (หรือที่ตามมา) ด้วยอาร์กิวเมนต์เชิงลบ ใช้ตัวพิมพ์ใหญ่
คำก่อนหน้า แต่อย่าย้ายจุด
โหมดเขียนทับ
สลับโหมดเขียนทับ ด้วยอาร์กิวเมนต์ตัวเลขบวกที่ชัดเจน ให้สลับไปที่
โหมดเขียนทับ ด้วยอาร์กิวเมนต์ตัวเลขที่ไม่เป็นบวกที่ชัดเจน ให้สลับไปที่การแทรก
โหมด. คำสั่งนี้มีผลเท่านั้น emacs โหมด; vi โหมดเขียนทับแตกต่างกัน
แต่ละครั้งโทรไปที่ อ่านบรรทัด () เริ่มในโหมดแทรก ในโหมดเขียนทับ อักขระถูกผูกไว้
ไปยัง ใส่เอง แทนที่ข้อความตรงจุดแทนที่จะกดข้อความไปทางขวา
ตัวละครที่ถูกผูกไว้กับ ย้อนกลับ-ลบ-char แทนที่อักขระก่อนจุดด้วย a
ช่องว่าง. โดยค่าเริ่มต้น คำสั่งนี้จะไม่ถูกผูกไว้

ฆ่า และ แยงกี้
คิลไลน์ (ซีเค)
ฆ่าข้อความจากจุดสิ้นสุดของบรรทัด
back-kill-line (Cx ถูออก)
ฆ่ากลับไปที่จุดเริ่มต้นของบรรทัด
unix-line-ทิ้ง (ลูกบาศ์ก)
ฆ่าย้อนกลับจากจุดหนึ่งไปยังอีกจุดหนึ่งของบรรทัด ข้อความที่ถูกฆ่าจะถูกบันทึกไว้ใน
แหวนสังหาร
ฆ่าทั้งสาย
ฆ่าตัวละครทั้งหมดในบรรทัดปัจจุบัน ไม่ว่าจะอยู่ที่จุดใด
ฆ่าคำ (เอ็มดี)
ฆ่าจากจุดไปที่จุดสิ้นสุดของคำปัจจุบันหรือถ้าระหว่างคำไปยังจุดสิ้นสุดของ
คำถัดไป ขอบเขตของคำเหมือนกับที่ใช้โดย คำข้างหน้า.
ย้อนหลัง-kill-word (เอ็ม-รูบูท)
ฆ่าคำที่อยู่เบื้องหลังจุด ขอบเขตของคำเหมือนกับที่ใช้โดย
ย้อนกลับคำ.
เชลล์ฆ่าคำ (เอ็มดี)
ฆ่าจากจุดไปที่จุดสิ้นสุดของคำปัจจุบันหรือถ้าระหว่างคำไปยังจุดสิ้นสุดของ
คำถัดไป ขอบเขตของคำเหมือนกับที่ใช้โดย เชลล์ไปข้างหน้าคำ.
เปลือกหลังฆ่าคำ (เอ็ม-รูบูท)
ฆ่าคำที่อยู่เบื้องหลังจุด ขอบเขตของคำเหมือนกับที่ใช้โดย
เชลล์ย้อนกลับคำ.
ยูนิกซ์คำ rubout (ช)
ฆ่าคำที่อยู่ข้างหลังโดยใช้ช่องว่างสีขาวเป็นขอบเขตของคำ ข้อความที่ถูกฆ่า
ถูกบันทึกไว้บนวงแหวนสังหาร
unix-ชื่อไฟล์-rubout
ฆ่าคำที่อยู่ข้างหลังโดยใช้ช่องว่างและเครื่องหมายทับเป็นคำ
ขอบเขต ข้อความที่ถูกฆ่าจะถูกบันทึกไว้บนวงแหวนสังหาร
ลบแนวนอนพื้นที่ (ม-\)
ลบช่องว่างและแท็บรอบจุดทั้งหมด
ฆ่าภูมิภาค
ฆ่าข้อความในพื้นที่ปัจจุบัน
คัดลอกภูมิภาคเป็นฆ่า
คัดลอกข้อความในพื้นที่ไปยังบัฟเฟอร์การฆ่า
คัดลอกย้อนกลับคำ
คัดลอกคำก่อนชี้ไปที่บัฟเฟอร์การฆ่า ขอบเขตของคำเหมือนกับ
ย้อนกลับคำ.
คัดลอกไปข้างหน้าคำ
คัดลอกคำต่อไปนี้ไปยังบัฟเฟอร์การฆ่า ขอบเขตของคำเหมือนกัน
as คำข้างหน้า.
งัด (ซี)
ดึงส่วนบนของวงแหวนฆ่าเข้าไปในบัฟเฟอร์ที่จุด
ดึงป๊อป (ของฉัน)
หมุนวงแหวนสังหาร และดึงส่วนบนใหม่ ใช้งานได้เฉพาะติดตาม งัด or ดึงป๊อป.

เป็นตัวเลข ข้อโต้แย้ง
ตัวเลข-อาร์กิวเมนต์ (ม-0, M-1 ... ม--)
เพิ่มตัวเลขนี้ไปยังอาร์กิวเมนต์ที่สะสมอยู่แล้ว หรือเริ่มอาร์กิวเมนต์ใหม่ ม--
เริ่มอาร์กิวเมนต์เชิงลบ
สากล-อาร์กิวเมนต์
นี่เป็นอีกวิธีหนึ่งในการระบุอาร์กิวเมนต์ หากคำสั่งนี้ตามด้วยหนึ่งหรือ
ตัวเลขมากขึ้น อาจมีเครื่องหมายลบนำหน้า ตัวเลขเหล่านั้นกำหนด
การโต้เถียง. หากคำสั่งตามด้วยตัวเลข ให้ดำเนินการ สากล-อาร์กิวเมนต์ อีกครั้ง
สิ้นสุดอาร์กิวเมนต์ที่เป็นตัวเลข แต่จะถูกละเว้น เป็นกรณีพิเศษ หากเป็นกรณีนี้
คำสั่งตามด้วยอักขระที่ไม่ใช่ตัวเลขหรือลบทันที
ลงชื่อ จำนวนอาร์กิวเมนต์สำหรับคำสั่งถัดไปจะคูณด้วยสี่ อาร์กิวเมนต์
การนับเป็นหนึ่ง ดังนั้นการเรียกใช้ฟังก์ชันนี้ในครั้งแรกจะทำให้
อาร์กิวเมนต์นับสี่ครั้งที่สองทำให้อาร์กิวเมนต์นับสิบหกเป็นต้น

กำลังดำเนินการ
สมบูรณ์ (TAB)
พยายามทำให้ข้อความสมบูรณ์ก่อนจุด ทุบตี ความพยายามเสร็จสิ้น
ถือว่าข้อความเป็นตัวแปร (ถ้าข้อความขึ้นต้นด้วย $) ชื่อผู้ใช้ (หากเป็นข้อความ
เริ่มต้นด้วย ~) ชื่อโฮสต์ (หากข้อความขึ้นต้นด้วย @) หรือคำสั่ง (รวมถึงนามแฝง
และหน้าที่) ในทางกลับกัน หากไม่มีสิ่งใดที่ตรงกัน การเติมชื่อไฟล์จะเป็น
พยายาม
เป็นไปได้-สำเร็จ (NS-?)
ระบุความสมบูรณ์ที่เป็นไปได้ของข้อความก่อนจุด
แทรกเสร็จ (ม-*)
แทรกความสมบูรณ์ของข้อความก่อนจุดที่จะสร้างโดย
เป็นไปได้-สำเร็จ.
เมนูที่สมบูรณ์
คล้ายกับ สมบูรณ์แต่แทนที่คำที่จะเติมด้วยคำเดียวจาก
รายการของความสำเร็จที่เป็นไปได้ การดำเนินการซ้ำของ เมนูที่สมบูรณ์ ทำตามขั้นตอน
ผ่านรายการของความสำเร็จที่เป็นไปได้ แทรกแต่ละแมตช์ในทางกลับกัน ในตอนท้าย
ของรายการสำเร็จ ระฆังดัง (ขึ้นอยู่กับการตั้งค่าของ แบบระฆัง)
และข้อความต้นฉบับจะกลับคืนมา ข้อโต้แย้งของ n ย้าย n ตำแหน่งไปข้างหน้าใน
รายการการแข่งขัน; อาร์กิวเมนต์เชิงลบสามารถใช้เพื่อย้อนกลับผ่าน
รายการ. คำสั่งนี้มีวัตถุประสงค์เพื่อผูกกับ TABแต่ไม่ถูกผูกไว้โดยค่าเริ่มต้น
เมนู-สมบูรณ์-ถอยหลัง
เหมือนกับ เมนูที่สมบูรณ์แต่เลื่อนย้อนกลับผ่านรายการที่เป็นไปได้
เสร็จสิ้นราวกับว่า เมนูที่สมบูรณ์ ได้รับการโต้แย้งเชิงลบ คำสั่งนี้
ไม่ถูกผูกไว้โดยค่าเริ่มต้น
ลบถ่านหรือรายการ
ลบอักขระที่อยู่ใต้เคอร์เซอร์ถ้าไม่ได้อยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัด
(ชอบ ลบถ่าน). ถ้าอยู่ท้ายบรรทัด มีพฤติกรรมเหมือนกับ
เป็นไปได้-สำเร็จ. คำสั่งนี้จะไม่ถูกผูกไว้โดยค่าเริ่มต้น
ชื่อไฟล์ที่สมบูรณ์ (NS-/)
พยายามตั้งชื่อไฟล์ให้สมบูรณ์ในข้อความก่อนจุด
เป็นไปได้-filename-completions (Cx /)
ระบุความสมบูรณ์ที่เป็นไปได้ของข้อความก่อนจุด โดยถือเป็นชื่อไฟล์
ชื่อผู้ใช้ที่สมบูรณ์ (ม-~)
พยายามกรอกข้อความก่อนจุด โดยถือว่าเป็นชื่อผู้ใช้
เป็นไปได้-ชื่อผู้ใช้-เสร็จสิ้น (Cx ~)
ระบุความสมบูรณ์ที่เป็นไปได้ของข้อความก่อนจุด โดยถือว่าเป็นชื่อผู้ใช้
ตัวแปรสมบูรณ์ (ม-$)
พยายามทำให้ข้อความสมบูรณ์ก่อนจุด โดยถือว่าเป็นตัวแปรเชลล์
ตัวแปรที่เป็นไปได้ (Cx $)
ระบุความสมบูรณ์ที่เป็นไปได้ของข้อความก่อนจุด โดยถือว่าเป็นเชลล์
ตัวแปร
ชื่อโฮสต์ที่สมบูรณ์ (ม-@)
พยายามทำให้ข้อความสมบูรณ์ก่อนจุด โดยถือว่าเป็นชื่อโฮสต์
เป็นไปได้-hostname-completions (Cx @)
ระบุความสมบูรณ์ที่เป็นไปได้ของข้อความก่อนจุด โดยถือเป็นชื่อโฮสต์
คำสั่งสมบูรณ์ (ม-!)
พยายามทำให้ข้อความสมบูรณ์ก่อนจุด โดยถือว่าเป็นชื่อคำสั่ง
ความสมบูรณ์ของคำสั่งพยายามจับคู่ข้อความกับนามแฝง คำสงวน
ฟังก์ชันของเชลล์ เชลล์บิวด์อิน และชื่อไฟล์ที่เรียกใช้งานได้ในที่สุด ตามลำดับนั้น
คำสั่งที่เป็นไปได้สำเร็จ (Cx !)
ระบุความสมบูรณ์ที่เป็นไปได้ของข้อความก่อนจุด โดยถือเป็นคำสั่ง
ชื่อ
ไดนามิกสมบูรณ์ประวัติศาสตร์ (เอ็ม-แท็บ)
พยายามทำให้ข้อความสมบูรณ์ก่อนจุด โดยเปรียบเทียบข้อความกับบรรทัดจาก
รายการประวัติสำหรับการแข่งขันที่เป็นไปได้
dabbrev-ขยาย
พยายามทำเมนูให้เสร็จในข้อความก่อนจุด เปรียบเทียบข้อความกับบรรทัด
จากรายการประวัติการแข่งขันที่เป็นไปได้
จัดฟันครบชุด (ม-{)
ดำเนินการกรอกชื่อไฟล์ให้สมบูรณ์และแทรกรายการการสำเร็จที่เป็นไปได้ที่แนบมาด้วย
ภายในวงเล็บเพื่อให้รายการสามารถใช้ได้กับเชลล์ (ดู ทาบ การขยายตัว ข้างบน).

แป้นพิมพ์ แมโคร
start-kbd-มาโคร (Cx ()
เริ่มบันทึกอักขระที่พิมพ์ลงในมาโครแป้นพิมพ์ปัจจุบัน
end-kbd-มาโคร (Cx ))
หยุดบันทึกอักขระที่พิมพ์ลงในมาโครแป้นพิมพ์ปัจจุบันและจัดเก็บ
คำนิยาม.
call-last-kbd-มาโคร (Cx e)
เรียกใช้มาโครแป้นพิมพ์สุดท้ายที่กำหนดอีกครั้งโดยสร้างอักขระในมาโคร
ปรากฏราวกับว่าพิมพ์ที่แป้นพิมพ์
print-last-kbd-มาโคร ()
พิมพ์มาโครแป้นพิมพ์สุดท้ายที่กำหนดไว้ในรูปแบบที่เหมาะสมสำหรับ อินพุตอาร์ซี ไฟล์

เบ็ดเตล็ด
อ่านไฟล์เริ่มต้นอีกครั้ง (Cx Cr)
อ่านเนื้อหาใน อินพุตอาร์ซี ไฟล์และรวมการผูกหรือตัวแปรใด ๆ
พบงานที่นั่น
ยกเลิก (ซีก.)
ยกเลิกคำสั่งแก้ไขปัจจุบันและกดกริ่งของเทอร์มินัล (ขึ้นอยู่กับ
การตั้งค่าของ แบบระฆัง).
ทำตัวพิมพ์ใหญ่รุ่น (แม่ เมกะไบต์ M-x, ... )
ถ้า metafied character x เป็นตัวพิมพ์เล็กให้รันคำสั่งที่ผูกกับ
อักขระตัวพิมพ์ใหญ่ที่สอดคล้องกัน
คำนำหน้า meta (NS)
Metafy อักขระถัดไปที่พิมพ์ ESC f เทียบเท่ากับ เมตา-ฉ.
แก้ (ค-_, Cx ลูกบาศ์ก)
เลิกทำที่เพิ่มขึ้น จำแยกกันสำหรับแต่ละบรรทัด
กลับบรรทัด (นาย)
เลิกทำการเปลี่ยนแปลงทั้งหมดที่ทำกับบรรทัดนี้ นี้เหมือนกับการดำเนินการ แก้ สั่งพอ
ครั้งเพื่อให้บรรทัดกลับสู่สถานะเริ่มต้น
ตัวหนอนขยาย (ม-&)
ดำเนินการขยายตัวหนอนในคำปัจจุบัน
ชุดเครื่องหมาย (ค-@, ม- )
ตั้งเครื่องหมายให้ตรงจุด หากมีการระบุอาร์กิวเมนต์ตัวเลข เครื่องหมายจะถูกตั้งค่าเป็น
ตำแหน่งนั้น
จุดแลกเปลี่ยนและเครื่องหมาย (Cx ซีเอ็กซ์)
สลับจุดด้วยเครื่องหมาย ตำแหน่งเคอร์เซอร์ปัจจุบันถูกตั้งค่าเป็นบันทึก
ตำแหน่ง และตำแหน่งเคอร์เซอร์เก่าจะถูกบันทึกเป็นเครื่องหมาย
ค้นหาตัวอักษร (ค-])
อักขระถูกอ่านและจุดถูกย้ายไปยังรายการถัดไปของอักขระนั้น อา
การค้นหาจำนวนลบสำหรับเหตุการณ์ก่อนหน้า
ตัวอักษรค้นหาย้อนกลับ (เอ็มซี-])
อักขระถูกอ่านและจุดถูกย้ายไปที่เหตุการณ์ก่อนหน้านั้น
อักขระ. จำนวนลบจะค้นหาเหตุการณ์ที่ตามมา
ข้าม csi-ลำดับ
อ่านอักขระให้เพียงพอเพื่อใช้ลำดับหลายคีย์เช่นที่กำหนดไว้สำหรับ
คีย์เช่น Home และ End ลำดับดังกล่าวเริ่มต้นด้วย Control Sequence Indicator
(CSI) โดยปกติ ESC-[. หากลำดับนี้ผูกกับ "\[" คีย์จะสร้างเช่น
ลำดับจะไม่มีผลเว้นแต่จะผูกไว้อย่างชัดเจนกับคำสั่ง readline
แทนที่จะใส่อักขระจรจัดลงในบัฟเฟอร์การแก้ไข นี้ไม่ถูกผูกมัดโดย
ค่าเริ่มต้น แต่มักจะผูกไว้กับ ESC-[
แทรกความคิดเห็น (ม-#)
ไม่มีอาร์กิวเมนต์ที่เป็นตัวเลข ค่าของ readline แสดงความคิดเห็น-เริ่มต้น ตัวแปร is
แทรกที่จุดเริ่มต้นของบรรทัดปัจจุบัน หากมีการระบุอาร์กิวเมนต์ที่เป็นตัวเลข
คำสั่งนี้ทำหน้าที่เป็นตัวสลับ: ถ้าอักขระขึ้นต้นบรรทัด do
ไม่ตรงกับค่าของ แสดงความคิดเห็น-เริ่มต้น, ค่าจะถูกแทรก มิฉะนั้น
ตัวละครใน แสดงความคิดเห็น-เริ่มต้น จะถูกลบออกจากต้นบรรทัด ไม่ว่าใน
กรณีบรรทัดได้รับการยอมรับราวกับว่ามีการพิมพ์ขึ้นบรรทัดใหม่ ค่าเริ่มต้นของ
แสดงความคิดเห็น-เริ่มต้น ทำให้คำสั่งนี้ทำให้บรรทัดปัจจุบันเป็นความคิดเห็นของเชลล์ ถ้า
อาร์กิวเมนต์ตัวเลขทำให้อักขระความคิดเห็นถูกลบ บรรทัดจะเป็น
ดำเนินการโดยเชลล์
glob-สมบูรณ์-word (มิลลิกรัม)
คำนำหน้าจุดถือเป็นรูปแบบการขยายชื่อพาธด้วยเครื่องหมาย
เครื่องหมายดอกจันต่อท้ายโดยปริยาย รูปแบบนี้ใช้เพื่อสร้างรายการการจับคู่
ชื่อไฟล์สำหรับการเสร็จสิ้นที่เป็นไปได้
โลกขยายคำ (Cx *)
คำนำหน้าจุดถือเป็นรูปแบบการขยายชื่อพาธ และรายการ
ของชื่อไฟล์ที่ตรงกันถูกแทรก แทนที่คำ ถ้าอาร์กิวเมนต์ตัวเลขคือ
ที่ให้มา เครื่องหมายดอกจันจะถูกต่อท้ายส่วนขยายชื่อพาธ
glob-list-expansion (Cx g)
รายการส่วนขยายที่จะสร้างขึ้นโดย โลกขยายคำ is
ปรากฏขึ้นและมีการวาดเส้นใหม่ หากมีการระบุอาร์กิวเมนต์ตัวเลข เครื่องหมายดอกจัน
ถูกผนวกก่อนการขยายชื่อพาธ
ฟังก์ชั่นการถ่ายโอนข้อมูล
พิมพ์ฟังก์ชันทั้งหมดและการโยงคีย์ไปยังสตรีมเอาต์พุต readline
หากมีการระบุอาร์กิวเมนต์ตัวเลข เอาต์พุตจะถูกจัดรูปแบบในลักษณะที่มัน
สามารถเป็นส่วนหนึ่งของ an อินพุตอาร์ซี ไฟล์
ตัวแปรการถ่ายโอนข้อมูล
พิมพ์ตัวแปร readline ที่ตั้งค่าได้ทั้งหมดและค่าของตัวแปรเหล่านี้ไปยัง readline
กระแสเอาต์พุต หากมีการระบุอาร์กิวเมนต์ตัวเลข เอาต์พุตจะถูกจัดรูปแบบในรูปแบบดังกล่าว
วิธีที่จะทำให้เป็นส่วนหนึ่งของ an อินพุตอาร์ซี ไฟล์
มาโครการถ่ายโอนข้อมูล
พิมพ์ลำดับคีย์ readline ทั้งหมดที่ผูกไว้กับมาโครและสตริงที่พวกมัน
เอาท์พุท หากมีการระบุอาร์กิวเมนต์ตัวเลข เอาต์พุตจะถูกจัดรูปแบบในลักษณะดังกล่าว
ที่สามารถทำให้เป็นส่วนหนึ่งของ อินพุตอาร์ซี ไฟล์
แสดงรุ่นเชลล์ (Cx ประวัติย่อ)
แสดงข้อมูลเวอร์ชันเกี่ยวกับอินสแตนซ์ปัจจุบันของ ทุบตี.

โปรแกรมได้ สร้างเสร็จ
เมื่อพยายามเติมคำให้สมบูรณ์สำหรับอาร์กิวเมนต์ของคำสั่งที่เสร็จสิ้น
ข้อกำหนด (a ตรงสเปก) ถูกกำหนดโดยใช้ สมบูรณ์ บิวอิน (ดู SHELL สร้างขึ้น
คำสั่ง ด้านล่าง) จะมีการเรียกใช้สิ่งอำนวยความสะดวกในการสำเร็จที่ตั้งโปรแกรมได้

ขั้นแรก ระบุชื่อคำสั่ง หากคำคำสั่งเป็นสตริงว่าง
(พยายามทำให้เสร็จที่จุดเริ่มต้นของบรรทัดว่าง) compspec ใด ๆ ที่กำหนดด้วย -E
ตัวเลือก สมบูรณ์ ถูกนำมาใช้. หากมีการกำหนด compspec สำหรับคำสั่งนั้น compspec
ใช้เพื่อสร้างรายการการเติมคำที่เป็นไปได้ หากคำคำสั่งคือ
ชื่อพาธแบบเต็ม compspec สำหรับชื่อพาธแบบเต็มจะถูกค้นหาก่อน หากไม่มีมาตรฐาน
พบสำหรับชื่อพาธแบบเต็ม พยายามค้นหา compspec สำหรับส่วน
ต่อจากสแลชสุดท้าย หากการค้นหาเหล่านั้นไม่ส่งผลให้เกิด compspec ใดๆ compspec
กำหนดด้วย -D ตัวเลือก สมบูรณ์ ถูกใช้เป็นค่าเริ่มต้น

เมื่อพบ compspec แล้ว จะใช้เพื่อสร้างรายการคำที่ตรงกัน ถ้า
ไม่พบ compspec ค่าเริ่มต้น ทุบตี เสร็จสิ้นตามที่อธิบายไว้ข้างต้นภายใต้ กำลังดำเนินการ is
ดำเนินการ

ขั้นแรก ใช้การดำเนินการที่ระบุโดย compspec เฉพาะไม้ขีดที่นำหน้าด้วย
คำที่เสร็จสิ้นจะถูกส่งกลับ เมื่อ -f or -d ตัวเลือกใช้สำหรับชื่อไฟล์หรือ
การกรอกชื่อไดเร็กทอรี ตัวแปรเชลล์ ฟิกเกอร์ ใช้เพื่อกรองการแข่งขัน

ความสมบูรณ์ใดๆ ที่ระบุโดยรูปแบบการขยายชื่อพาธไปยัง -G ตัวเลือกถูกสร้างขึ้น
ต่อไป. คำที่สร้างโดยรูปแบบไม่จำเป็นต้องตรงกับคำที่กรอก ดิ
โกลบิกนอร์ ตัวแปรเชลล์ไม่ได้ใช้เพื่อกรองการจับคู่ แต่ ฟิกเกอร์ ตัวแปร is
มือสอง

ถัดไป สตริงที่ระบุเป็นอาร์กิวเมนต์ของ -W ถือเป็นทางเลือก สตริงคือ
แยกแรกโดยใช้อักขระใน ไอเอฟเอ ตัวแปรพิเศษเป็นตัวคั่น การอ้างอิงเชลล์
เป็นเกียรติ จากนั้นแต่ละคำจะถูกขยายโดยใช้การขยายวงเล็บปีกกา การขยายตัวหนอน พารามิเตอร์
และการขยายตัวแปร การแทนที่คำสั่ง และการขยายเลขคณิต ดังที่อธิบายไว้ข้างต้น
ภายใต้ ขยาย. ผลลัพธ์จะถูกแบ่งโดยใช้กฎที่อธิบายไว้ข้างต้นภายใต้ คำ
รุนแรง. ผลลัพธ์ของการขยายคำนำหน้าตรงกับคำว่าเป็น
เสร็จสมบูรณ์และคำที่ตรงกันกลายเป็นความสมบูรณ์ที่เป็นไปได้

หลังจากสร้างการจับคู่เหล่านี้แล้ว ฟังก์ชันเชลล์หรือคำสั่งใดๆ ที่ระบุด้วย
-F และ -C ตัวเลือกถูกเรียกใช้ เมื่อเรียกใช้คำสั่งหรือฟังก์ชัน COMP_LINE,
COMP_POINT, COMP_KEYและ COMP_TYPE ตัวแปรถูกกำหนดค่าตามที่อธิบายไว้ข้างต้นภายใต้
เปลือก ตัวแปร. หากมีการเรียกใช้ฟังก์ชันเชลล์ ฟังก์ชัน COMP_WORDS และ COMP_CWORD
มีการกำหนดตัวแปรไว้ด้วย เมื่อเรียกใช้ฟังก์ชันหรือคำสั่ง อาร์กิวเมนต์แรก ($1)
เป็นชื่อของคำสั่งที่มีอาร์กิวเมนต์เสร็จสิ้น อาร์กิวเมนต์ที่สอง ($2)
เป็นคำที่เสร็จสมบูรณ์และอาร์กิวเมนต์ที่สาม ($3) เป็นคำนำหน้าคำ
เสร็จสิ้นในบรรทัดคำสั่งปัจจุบัน ไม่มีการกรองความสมบูรณ์ที่สร้างขึ้น
กับคำที่เสร็จสมบูรณ์จะดำเนินการ; ฟังก์ชั่นหรือคำสั่งเสร็จสมบูรณ์
อิสระในการสร้างแมตช์

ฟังก์ชันใดๆ ที่ระบุด้วย -F จะถูกเรียกใช้ก่อน ฟังก์ชันอาจใช้เชลล์ตัวใดก็ได้
สิ่งอำนวยความสะดวก ได้แก่ ส่วนประกอบ builtin อธิบายไว้ด้านล่างเพื่อสร้างการแข่งขัน มัน
ต้องใส่ความสมบูรณ์ที่เป็นไปได้ใน สมบูรณ์ ตัวแปรอาร์เรย์ หนึ่งรายการต่อองค์ประกอบอาร์เรย์

ถัดไป คำสั่งใดๆ ที่ระบุด้วย the -C ตัวเลือกถูกเรียกใช้ในสภาพแวดล้อมที่เทียบเท่ากับ
การแทนที่คำสั่ง ควรพิมพ์รายการสำเร็จหนึ่งรายการต่อบรรทัดไปที่
เอาต์พุตมาตรฐาน แบ็กสแลชสามารถใช้เพื่อหลีกเลี่ยงการขึ้นบรรทัดใหม่ได้ หากจำเป็น

หลังจากสร้างเสร็จสิ้นที่เป็นไปได้ทั้งหมดแล้ว ตัวกรองใดๆ ที่ระบุด้วย -X
ตัวเลือกถูกนำไปใช้กับรายการ ตัวกรองเป็นรูปแบบที่ใช้สำหรับการขยายชื่อพาธ เอ
& ในรูปแบบจะถูกแทนที่ด้วยข้อความของคำที่เสร็จสมบูรณ์ อักษร & อาจ
หลบหนีด้วยแบ็กสแลช แบ็กสแลชจะถูกลบออกก่อนที่จะพยายามจับคู่ ใด ๆ
เสร็จสิ้นที่ตรงกับรูปแบบจะถูกลบออกจากรายการ ชั้นนำ ! ปฏิเสธ
รูปแบบ; ในกรณีนี้ความสมบูรณ์ที่ไม่ตรงกับรูปแบบจะถูกลบออก

สุดท้าย คำนำหน้าและคำต่อท้ายใดๆ ที่ระบุด้วยเครื่องหมาย -P และ -S ตัวเลือกจะถูกเพิ่มในแต่ละ
สมาชิกของรายการเสร็จสิ้นและผลลัพธ์จะถูกส่งกลับไปยังรหัสการเสร็จสิ้น readline
เป็นรายการของความสำเร็จที่เป็นไปได้

หากการกระทำที่ใช้ก่อนหน้านี้ไม่ก่อให้เกิดการจับคู่ใด ๆ และ -o นามสกุล ตัวเลือก
ถูกส่งมอบให้กับ สมบูรณ์ เมื่อกำหนด compspec ชื่อไดเร็กทอรีสมบูรณ์คือ
พยายาม

ถ้า -o พลัสเดอร์ ตัวเลือกถูกส่งไปยัง สมบูรณ์ เมื่อกำหนด compspec แล้ว
มีการพยายามตั้งชื่อไดเร็กทอรีให้สมบูรณ์และมีการเพิ่มการจับคู่ใด ๆ เข้ากับผลลัพธ์ของ
การกระทำอื่น ๆ.

โดยค่าเริ่มต้น หากพบ compspec สิ่งใดก็ตามที่สร้างจะถูกส่งกลับไปยังความสมบูรณ์
รหัสเป็นชุดที่สมบูรณ์ของความสำเร็จที่เป็นไปได้ ค่าเริ่มต้น ทุบตี เสร็จสิ้นไม่ได้
พยายามแล้ว และปิดใช้งานการอ่านค่าเริ่มต้นของการเติมชื่อไฟล์ให้สมบูรณ์ ถ้า -o
ทุบตีเริ่มต้น ตัวเลือกถูกส่งไปยัง สมบูรณ์ เมื่อกำหนด compspec แล้ว ทุบตี
จะมีการพยายามทำให้สมบูรณ์โดยค่าเริ่มต้นหาก compspec ไม่สร้างผลลัพธ์ที่ตรงกัน ถ้า -o ผิดนัด
ตัวเลือกถูกส่งไปยัง สมบูรณ์ เมื่อกำหนด compspec ค่าเริ่มต้นของ readline
เสร็จสิ้นจะดำเนินการหาก compspec (และหากพยายาม default ทุบตี
เสร็จสิ้น) ไม่สร้างการแข่งขัน

เมื่อ compspec ระบุว่าต้องการให้ชื่อไดเร็กทอรีสมบูรณ์ programmable
ฟังก์ชันการทำให้สมบูรณ์บังคับให้ readline ต่อท้ายชื่อที่กรอกเสร็จแล้วซึ่งก็คือ
ลิงก์สัญลักษณ์ไปยังไดเร็กทอรีขึ้นอยู่กับค่าของ เครื่องหมายไดเรกทอรี ReadLine
ตัวแปรโดยไม่คำนึงถึงการตั้งค่าของ เครื่องหมาย symlinked ไดเรกทอรี ตัวแปร readline

มีการสนับสนุนบางอย่างสำหรับการแก้ไขเสร็จสิ้นแบบไดนามิก สิ่งนี้มีประโยชน์มากที่สุดเมื่อ
ใช้ร่วมกับการเติมเริ่มต้นที่ระบุด้วย สมบูรณ์ -D. มันเป็นไปได้
สำหรับฟังก์ชันของเชลล์ที่ดำเนินการเป็นตัวจัดการความสมบูรณ์เพื่อบ่งชี้ว่าความสมบูรณ์ควรเป็น
ลองใหม่โดยคืนค่าสถานะออก 124 หากฟังก์ชันเชลล์คืนค่า 124 และเปลี่ยน
compspec ที่เกี่ยวข้องกับคำสั่งที่กำลังพยายามทำให้เสร็จ (ให้มา
เป็นอาร์กิวเมนต์แรกเมื่อเรียกใช้ฟังก์ชัน) การเริ่มต้นโปรแกรมให้เสร็จสิ้นได้เริ่มต้นใหม่
ตั้งแต่ต้น โดยพยายามค้นหา compspec ใหม่สำหรับคำสั่งนั้น สิ่งนี้ทำให้
ชุดของความสมบูรณ์ที่จะสร้างขึ้นแบบไดนามิกเมื่อพยายามทำให้เสร็จ มากกว่าที่จะเป็น
โหลดทั้งหมดในครั้งเดียว

ตัวอย่างเช่น สมมติว่ามีไลบรารีของ compspecs แต่ละรายการเก็บไว้ในไฟล์
สอดคล้องกับชื่อของคำสั่ง ฟังก์ชันการเสร็จสิ้นเริ่มต้นต่อไปนี้จะ
โหลดเสร็จสิ้นแบบไดนามิก:

_completion_loader()
{
. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
}
สมบูรณ์ -D -F _completion_loader -o bashdefault -o default

ประวัติ


เมื่อราคาของ -o ประวัติ ตัวเลือก ชุด เปิดใช้งานบิวด์อินแล้ว เชลล์ให้การเข้าถึง
คำสั่ง ประวัติ, รายการคำสั่งที่พิมพ์ไว้ก่อนหน้านี้ ค่าของ ฮิสต์ไซส์
ตัวแปรถูกใช้เป็นจำนวนคำสั่งที่จะบันทึกในรายการประวัติ ข้อความของ
ล่าสุด ฮิสต์ไซส์ คำสั่ง (ค่าเริ่มต้น 500) จะถูกบันทึกไว้ เชลล์เก็บแต่ละคำสั่งไว้ใน
รายการประวัติก่อนการขยายพารามิเตอร์และตัวแปร (ดู ขยาย ข้างบน) แต่หลังจากนั้น
มีการขยายประวัติโดยขึ้นอยู่กับค่าของตัวแปรเชลล์ ฮิสทีนอร์
และ ฮิสคอนโทรล.

เมื่อเริ่มต้น ประวัติจะถูกเริ่มต้นจากไฟล์ที่ตั้งชื่อโดยตัวแปร ฮิสไฟล์
(ค่าเริ่มต้น ~ / .bash_history). ไฟล์ที่ตั้งชื่อตามค่าของ ฮิสไฟล์ ถูกตัดทอน ถ้า
จำเป็นให้มีไม่เกินจำนวนบรรทัดที่กำหนดโดยค่าของ
HISTFILESIZE. ถ้า HISTFILESIZE ไม่ได้ตั้งค่า หรือตั้งค่าเป็น null ค่าที่ไม่ใช่ตัวเลข หรือตัวเลข
มีค่าน้อยกว่าศูนย์ ไฟล์ประวัติจะไม่ถูกตัดทอน เมื่ออ่านไฟล์ประวัติแล้ว
บรรทัดที่ขึ้นต้นด้วยอักขระความคิดเห็นเกี่ยวกับประวัติตามด้วยตัวเลข are . ทันที
ตีความว่าเป็นการประทับเวลาสำหรับบรรทัดประวัติก่อนหน้า การประทับเวลาเหล่านี้เป็นทางเลือก
แสดงขึ้นอยู่กับมูลค่าของ HIST TIME FORMAT ตัวแปร. เมื่อเปลือกกับ
ประวัติที่เปิดใช้งาน ทางออกสุดท้าย $HISTSIZE บรรทัดจะถูกคัดลอกจากรายการประวัติไปยัง
$ฮิสไฟล์. หาก ปิด เปิดใช้งานตัวเลือกเชลล์ (ดูคำอธิบายของ ช๊อปปิ้ง ภายใต้
SHELL สร้างขึ้น คำสั่ง ด้านล่าง) บรรทัดจะถูกต่อท้ายไฟล์ประวัติ มิฉะนั้น
ไฟล์ประวัติถูกเขียนทับ ถ้า ฮิสไฟล์ ไม่ได้ตั้งค่า หรือหากไฟล์ประวัติไม่สามารถเขียนได้
ประวัติจะไม่ถูกบันทึก ถ้า HIST TIME FORMAT ตัวแปรถูกตั้งค่า, การประทับเวลาถูกเขียนขึ้น
ไปที่ไฟล์ประวัติที่มีเครื่องหมายความคิดเห็นเกี่ยวกับประวัติดังนั้นจึงอาจได้รับการเก็บรักษาไว้
ข้ามเซสชันของเชลล์ สิ่งนี้ใช้อักขระความคิดเห็นเกี่ยวกับประวัติเพื่อแยกแยะการประทับเวลา
จากแนวประวัติศาสตร์อื่นๆ หลังจากบันทึกประวัติแล้ว ไฟล์ประวัติจะถูกตัดทอนเป็น
มีไม่เกิน HISTFILESIZE เส้น ถ้า HISTFILESIZE ไม่ได้ตั้งค่าหรือตั้งค่าเป็นโมฆะไม่ใช่
ค่าตัวเลข หรือค่าตัวเลขที่น้อยกว่าศูนย์ ไฟล์ประวัติจะไม่ถูกตัดทอน

คำสั่งในตัว fc (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง) อาจใช้แสดงรายการหรือแก้ไขและ
ดำเนินการส่วนหนึ่งของรายการประวัติอีกครั้ง ดิ ประวัติ บิวอินอาจใช้เพื่อแสดงหรือ
แก้ไขรายการประวัติและจัดการไฟล์ประวัติ เมื่อใช้การแก้ไขบรรทัดคำสั่ง
คำสั่งค้นหามีอยู่ในโหมดการแก้ไขแต่ละโหมดที่ให้การเข้าถึงประวัติ
รายการ.

เชลล์อนุญาตให้ควบคุมคำสั่งที่จะบันทึกในรายการประวัติ ดิ
ฮิสคอนโทรล และ ฮิสทีนอร์ ตัวแปรอาจถูกตั้งค่าให้เชลล์บันทึกเฉพาะเซตย่อย
ของคำสั่งที่ป้อน ดิ ซม ตัวเลือกเชลล์ หากเปิดใช้งาน จะทำให้เชลล์เป็น
พยายามบันทึกแต่ละบรรทัดของคำสั่งหลายบรรทัดในรายการประวัติเดียวกัน โดยเพิ่ม
อัฒภาคที่จำเป็นเพื่อรักษาความถูกต้องของวากยสัมพันธ์ ดิ ช่างพิมพ์ ตัวเลือกเปลือก
ทำให้เชลล์บันทึกคำสั่งด้วยการขึ้นบรรทัดใหม่แบบฝังแทนเครื่องหมายอัฒภาค ดู
คำอธิบายของ ช๊อปปิ้ง สร้างขึ้นด้านล่างภายใต้ SHELL สร้างขึ้น คำสั่ง สำหรับข้อมูลเกี่ยวกับ
การตั้งค่าและการยกเลิกการตั้งค่าตัวเลือกเชลล์

ประวัติ ขยาย


เชลล์สนับสนุนคุณลักษณะการขยายประวัติที่คล้ายกับการขยายประวัติใน
ชช. ส่วนนี้อธิบายถึงคุณลักษณะทางไวยากรณ์ที่พร้อมใช้งาน ฟีเจอร์นี้เปิดใช้งานอยู่
โดยค่าเริ่มต้นสำหรับเชลล์แบบโต้ตอบ และสามารถปิดใช้งานได้โดยใช้ปุ่ม +H ตัวเลือก ชุด
คำสั่งในตัว (ดู SHELL สร้างขึ้น คำสั่ง ด้านล่าง). เชลล์ที่ไม่โต้ตอบไม่ทำงาน
การขยายประวัติโดยค่าเริ่มต้น

การขยายประวัติแนะนำคำจากรายการประวัติลงในสตรีมอินพุต ทำให้
ง่ายต่อการทำซ้ำคำสั่งแทรกอาร์กิวเมนต์ไปยังคำสั่งก่อนหน้าลงในอินพุตปัจจุบัน
บรรทัดหรือแก้ไขข้อผิดพลาดในคำสั่งก่อนหน้าอย่างรวดเร็ว

การขยายประวัติจะดำเนินการทันทีหลังจากอ่านบรรทัดทั้งหมด ก่อนเชลล์
แบ่งมันเป็นคำ มันเกิดขึ้นในสองส่วน อันดับแรกคือการกำหนดว่าสายใด
จากรายการประวัติเพื่อใช้ในระหว่างการทดแทน ประการที่สองคือการเลือกส่วนของ
บรรทัดนั้นเพื่อรวมเข้ากับบรรทัดปัจจุบัน บรรทัดที่เลือกจากประวัติคือ
เหตุการณ์และส่วนของบรรทัดนั้นที่ดำเนินการคือ คำ. ต่างๆ การปรับเปลี่ยน เป็น
พร้อมที่จะจัดการกับคำที่เลือก เส้นแบ่งเป็นคำเหมือนกัน
แฟชั่นเช่นเมื่ออ่านอินพุตเพื่อให้หลาย เมตาคาแรคเตอร์- คำที่คั่นล้อมรอบด้วย
คำพูดถือเป็นคำเดียว การขยายประวัติศาสตร์ได้รับการแนะนำโดยการปรากฏตัวของ
อักขระขยายประวัติศาสตร์ซึ่งก็คือ ! โดยค่าเริ่มต้น. เฉพาะแบ็กสแลช (\) และโสด
เครื่องหมายคำพูดสามารถอ้างอิงอักขระขยายประวัติศาสตร์

อักขระหลายตัวยับยั้งการขยายประวัติศาสตร์หากพบตามประวัติศาสตร์ทันที
อักขระขยาย แม้ว่าจะไม่มีเครื่องหมายคำพูด: ช่องว่าง แท็บ บรรทัดขึ้นบรรทัดใหม่ การขึ้นบรรทัดใหม่ และ =.
ถ้า ภายนอก เปิดใช้งานตัวเลือกเชลล์ ( จะยับยั้งการขยายตัวด้วย

ตัวเลือกเชลล์หลายตัวตั้งค่าได้ด้วย ช๊อปปิ้ง บิวอินอาจใช้เพื่อปรับแต่งพฤติกรรม
ของการขยายประวัติศาสตร์ ถ้า ตรวจสอบประวัติ เปิดใช้งานตัวเลือกเชลล์ (ดูคำอธิบายของ
ช๊อปปิ้ง ในตัวด้านล่าง) และ ReadLine กำลังใช้การแทนที่ประวัติไม่ได้
ส่งผ่านไปยังตัวแยกวิเคราะห์เชลล์ทันที แต่บรรทัดที่ขยายจะถูกโหลดซ้ำลงใน
ReadLine แก้ไขบัฟเฟอร์สำหรับการปรับเปลี่ยนเพิ่มเติม ถ้า ReadLine กำลังถูกใช้และ
histreeedit เปิดใช้งานตัวเลือกเชลล์แล้ว การแทนที่ประวัติที่ล้มเหลวจะถูกโหลดซ้ำใน
ReadLine แก้ไขบัฟเฟอร์สำหรับการแก้ไข ดิ -p ตัวเลือก ประวัติ คำสั่งในตัว
อาจใช้เพื่อดูว่าการขยายประวัติจะทำอะไรก่อนใช้งาน ดิ -s ตัวเลือก
ประวัติ builtin อาจใช้เพื่อเพิ่มคำสั่งที่ส่วนท้ายของรายการประวัติโดยไม่ต้อง
ดำเนินการจริงเพื่อให้พร้อมสำหรับการเรียกคืนในภายหลัง

เชลล์อนุญาตให้ควบคุมอักขระต่างๆ ที่ใช้โดยกลไกการขยายประวัติ
(ดูคำอธิบายของ ฮิชชาร์ เหนือใต้ เปลือก ตัวแปร). เปลือกใช้
อักขระแสดงความคิดเห็นประวัติเพื่อทำเครื่องหมายการประทับเวลาของประวัติเมื่อเขียนไฟล์ประวัติ

เหตุการณ์ ผู้ออกแบบ
ตัวกำหนดเหตุการณ์คือการอ้างอิงถึงรายการบรรทัดคำสั่งในรายการประวัติ เว้นเสียแต่ว่า
การอ้างอิงเป็นค่าสัมบูรณ์ เหตุการณ์สัมพันธ์กับตำแหน่งปัจจุบันในประวัติศาสตร์
รายการ.

! เริ่มการแทนที่ประวัติ ยกเว้นเมื่อตามด้วย a ว่างเปล่า, ขึ้นบรรทัดใหม่, สายการบิน
return = หรือ ( (เมื่อ ภายนอก เปิดใช้งานตัวเลือกเชลล์โดยใช้คำสั่ง ช๊อปปิ้ง ในตัว)
!n อ้างถึงบรรทัดคำสั่ง n.
!-n อ้างถึงคำสั่งปัจจุบันลบ n.
!! อ้างถึงคำสั่งก่อนหน้า นี่คือคำพ้องความหมายสำหรับ `!-1'
!เชือก
อ้างถึงคำสั่งล่าสุดที่อยู่ก่อนหน้าตำแหน่งปัจจุบันในรายการประวัติ
เริ่มต้นด้วย เชือก.
!?เชือก[?]
อ้างถึงคำสั่งล่าสุดที่อยู่ก่อนหน้าตำแหน่งปัจจุบันในรายการประวัติ
ที่มี เชือก. ต่อท้าย ? อาจถูกละเว้นถ้า เชือก จะตามมาทันที
โดยขึ้นบรรทัดใหม่
^string1^string2^
เปลี่ยนด่วน. ทำซ้ำคำสั่งก่อนหน้าโดยแทนที่ string1 กับ string2.
เทียบเท่ากับ ``!!:s/string1/string2/'' (ดู ตัวปรับเปลี่ยน ด้านล่าง)
!# พิมพ์บรรทัดคำสั่งทั้งหมดจนถึงตอนนี้

คำ ผู้ออกแบบ
ตัวกำหนดคำใช้สำหรับเลือกคำที่ต้องการจากงาน อา : แยกเหตุการณ์
ข้อกำหนดจากตัวกำหนดคำ อาจถูกละเว้นหากเริ่มตัวกำหนดคำ
กับ ^, $, *, -,หรือ %. คำต่างๆ จะถูกนับจากต้นบรรทัด โดยที่
คำแรกแสดงด้วย 0 (ศูนย์) คำถูกแทรกลงในบรรทัดปัจจุบันโดยแยกจากกัน
โดยช่องว่างเดียว

0 (ศูนย์)
คำที่ศูนย์ สำหรับเชลล์ นี่คือคำคำสั่ง
n พื้นที่ nคำที่
^ อาร์กิวเมนต์แรก นั่นคือคำที่ 1
$ คำสุดท้าย. โดยปกติแล้วจะเป็นอาร์กิวเมนต์สุดท้าย แต่จะขยายไปที่ศูนย์
word หากมีเพียงหนึ่งคำในบรรทัด
% คำที่ตรงกับ ` ล่าสุด?เชือก?' ค้นหา.
x-y ช่วงของคำ; `-y' ย่อมาจาก `0-y'.
* ทุกคำยกเว้นศูนย์ นี่คือคำพ้องความหมายสำหรับ `1- $'. ไม่ใช่ความผิดพลาด
ใช้ * หากมีเพียงหนึ่งคำในเหตุการณ์ สตริงว่างจะถูกส่งกลับใน
กรณีนั้น
x* ตัวย่อ x-$.
x- ตัวย่อ x-$ กดไลก์ x*แต่ละเว้นคำสุดท้าย

หากมีการกำหนด word designator โดยไม่มีข้อกำหนดเหตุการณ์ คำสั่งก่อนหน้านี้คือ
ใช้เป็นเหตุการณ์

ตัวปรับเปลี่ยน
หลังจากตัวกำหนดคำที่เป็นตัวเลือก อาจมีลำดับของ . หนึ่งรายการขึ้นไป
ตัวดัดแปลงต่อไปนี้ แต่ละตัวนำหน้าด้วย `:'

h ลบองค์ประกอบชื่อไฟล์ต่อท้าย เหลือเพียงส่วนหัว
t ลบส่วนประกอบชื่อไฟล์ชั้นนำทั้งหมด โดยปล่อยให้ส่วนท้าย
r ลบส่วนต่อท้ายของแบบฟอร์ม xxx.ออกจากชื่อฐาน
e ลบทั้งหมดยกเว้นส่วนต่อท้าย
p พิมพ์คำสั่งใหม่แต่ไม่ต้องดำเนินการ
q อ้างคำที่ใช้แทนกัน หลีกเลี่ยงการแทนที่เพิ่มเติม
x อ้างคำที่ใช้แทนเช่น with qแต่แตกเป็นคำที่ ช่องว่าง และขึ้นบรรทัดใหม่
s/เก่า/ใหม่/
แทน ใหม่ สำหรับการเกิดขึ้นครั้งแรกของ เก่า ในสายงาน ตัวคั่นใด ๆ
สามารถใช้แทน /. ตัวคั่นสุดท้ายเป็นตัวเลือกหากเป็นตัวคั่นสุดท้าย
ลักษณะของสายเหตุการณ์ ตัวคั่นอาจถูกยกมาใน เก่า และ ใหม่ กับ
แบ็กสแลชเดี่ยว ถ้า & ปรากฏใน ใหม่มันถูกแทนที่ด้วย เก่า. แบ็กสแลชเดียว
จะอ้าง &. ถ้า เก่า เป็นโมฆะมันถูกตั้งค่าเป็นครั้งสุดท้าย เก่า ทดแทน หรือถ้าไม่ใช่
การเปลี่ยนตัวของประวัติศาสตร์ก่อนหน้าเกิดขึ้น ครั้งสุดท้าย เชือก ใน !?เชือก[?]
ค้นหา.
& ทำซ้ำการแทนที่ก่อนหน้า
g ทำให้เกิดการเปลี่ยนแปลงที่จะใช้กับบรรทัดเหตุการณ์ทั้งหมด ใช้ใน
ร่วมกับ `:s' (เช่น `:gs/เก่า/ใหม่/') หรือ `:&'. ถ้าใช้กับ `:s', ใด ๆ
สามารถใช้ตัวคั่นแทน / และตัวคั่นสุดท้ายเป็นตัวเลือกหากเป็น
อักขระสุดท้ายของบรรทัดเหตุการณ์ หนึ่ง a อาจใช้เป็นคำพ้องความหมายสำหรับ g.
G ใช้ ` . ต่อไปนี้s' ตัวแก้ไขหนึ่งครั้งสำหรับแต่ละคำในบรรทัดเหตุการณ์

SHELL สร้างขึ้น คำสั่ง


เว้นแต่จะระบุไว้เป็นอย่างอื่น แต่ละคำสั่งในตัวที่บันทึกไว้ในส่วนนี้ว่ายอมรับ
ตัวเลือกนำหน้าด้วย - ยอมรับ -- เพื่อแสดงจุดสิ้นสุดของตัวเลือก ดิ :, จริง, เท็จ,
และ ทดสอบ buildins ไม่ยอมรับตัวเลือกและไม่ปฏิบัติต่อ -- เป็นพิเศษ ดิ ทางออก, ออกจากระบบ,
ทำลาย, ต่อ, ให้และ เปลี่ยน บิลด์อินยอมรับและประมวลผลอาร์กิวเมนต์ที่ขึ้นต้นด้วย -
โดยไม่ต้องใช้ --. บิวด์อินอื่นๆ ที่ยอมรับอาร์กิวเมนต์แต่ไม่ได้ระบุเป็น
ยอมรับตัวเลือกตีความอาร์กิวเมนต์ที่ขึ้นต้นด้วย - เป็นตัวเลือกที่ไม่ถูกต้องและต้องการ --
เพื่อป้องกันการตีความนี้
: [ข้อโต้แย้ง]
ไม่มีผลกระทบ; คำสั่งไม่ได้ทำอะไรเลยนอกจากการขยาย ข้อโต้แย้ง และดำเนินการใด ๆ
การเปลี่ยนเส้นทางที่ระบุ ส่งคืนรหัสทางออกที่เป็นศูนย์

. ชื่อไฟล์ [ข้อโต้แย้ง]
แหล่ง ชื่อไฟล์ [ข้อโต้แย้ง]
อ่านและดำเนินการคำสั่งจาก ชื่อไฟล์ ในสภาพแวดล้อมของเชลล์ปัจจุบันและส่งคืน
สถานะการออกของคำสั่งสุดท้ายที่ดำเนินการจาก ชื่อไฟล์. ถ้า ชื่อไฟล์ ไม่
มีเครื่องหมายทับชื่อไฟล์ใน เส้นทาง ใช้เพื่อค้นหาไดเร็กทอรีที่มี
ชื่อไฟล์. ไฟล์ที่ค้นหาใน เส้นทาง ไม่จำเป็นต้องปฏิบัติการได้ เมื่อไหร่ ทุบตี ไม่ใช่
in POSIX โหมด, ไดเร็กทอรีปัจจุบันจะถูกค้นหาหากไม่พบไฟล์ใน เส้นทาง. ถ้า
ต้นทาง ตัวเลือก ช๊อปปิ้ง คำสั่ง builtin ถูกปิด the เส้นทาง ไม่ใช่
ค้นหา ถ้ามี ข้อโต้แย้ง ถูกจัดให้กลายเป็นพารามิเตอร์ตำแหน่ง
เมื่อ ชื่อไฟล์ ถูกดำเนินการ มิฉะนั้น พารามิเตอร์ตำแหน่งจะไม่เปลี่ยนแปลง ดิ
สถานะการส่งคืนคือสถานะของคำสั่งสุดท้ายที่ออกจากสคริปต์ (0 ถ้าไม่ใช่
คำสั่งถูกดำเนินการ) และเป็นเท็จ if ชื่อไฟล์ ไม่พบหรือไม่สามารถอ่านได้

นามแฝง [-p] [ชื่อ[=ความคุ้มค่า-
นามแฝง โดยไม่มีข้อโต้แย้งหรือกับ -p ตัวเลือกพิมพ์รายชื่อนามแฝงใน
ฟอร์ม นามแฝง ชื่อ=ความคุ้มค่า บนเอาต์พุตมาตรฐาน เมื่อมีการระบุอาร์กิวเมนต์ นามแฝงคือ
กำหนดไว้สำหรับแต่ละคน ชื่อ ใคร ความคุ้มค่า จะได้รับ พื้นที่ต่อท้ายใน ความคุ้มค่า ทำให้
คำถัดไปที่จะตรวจสอบการแทนที่นามแฝงเมื่อนามแฝงถูกขยาย สำหรับ
แต่ละ ชื่อ ในรายการอาร์กิวเมนต์ที่ไม่มี ความคุ้มค่า มาพร้อมชื่อและค่า
ของนามแฝงถูกพิมพ์ นามแฝง คืนค่า จริง เว้นแต่ a ชื่อ ให้ไว้ซึ่งไม่มี
นามแฝงถูกกำหนดแล้ว

bg [รายละเอียดงาน ... ]
ดำเนินการต่อแต่ละงานที่ระงับ รายละเอียดงาน ในพื้นหลังราวกับว่ามันเริ่มต้นด้วย
&. ถ้า รายละเอียดงาน ไม่มีอยู่ ความคิดของเปลือกของ ปัจจุบัน งาน ถูกนำมาใช้. bg
รายละเอียดงาน คืนค่า 0 เว้นแต่เรียกใช้เมื่อปิดการควบคุมงานหรือเมื่อรันด้วย job
เปิดใช้งานการควบคุมใด ๆ ที่ระบุ รายละเอียดงาน ไม่พบหรือเริ่มโดยไม่มีงานทำ
ควบคุม

ผูก [-m คีย์แมป] [-lpsvPSVX]
ผูก [-m คีย์แมป] [-q ฟังก์ชัน] [-u ฟังก์ชัน] [-r คีย์]
ผูก [-m คีย์แมป] -f ชื่อไฟล์
ผูก [-m คีย์แมป] -x คีย์:เชลล์-คำสั่ง
ผูก [-m คีย์แมป] คีย์:ชื่อฟังก์ชัน
ผูก อ่านบรรทัดคำสั่ง
แสดงปัจจุบัน ReadLine การรวมคีย์และฟังก์ชัน ผูกลำดับคีย์กับ a
ReadLine ฟังก์ชันหรือมาโคร หรือตั้งค่า a ReadLine ตัวแปร. อาร์กิวเมนต์ที่ไม่ใช่ตัวเลือกแต่ละตัว
เป็นคำสั่งตามที่ปรากฏใน .inputrcแต่การผูกหรือคำสั่งแต่ละรายการต้องเป็น
ผ่านเป็นอาร์กิวเมนต์แยกต่างหาก เช่น '"\Cx\Cr": re-read-init-file' ตัวเลือก ถ้า
ให้มามีความหมายดังต่อไปนี้
-m คีย์แมป
ใช้ คีย์แมป เป็นคีย์แมปที่จะได้รับผลกระทบจากการเชื่อมโยงที่ตามมา
ยอมรับได้ คีย์แมป ชื่อคือ อีแมค emacs-มาตรฐาน, emacs-เมตา, emacs-ctlx,
วี วี-มูฟ, vi-คำสั่งและ vi-แทรก. vi เทียบเท่ากับ vi-คำสั่ง;
emacs เทียบเท่ากับ emacs-มาตรฐาน.
-l รายชื่อทั้งหมด ReadLine ฟังก์ชั่น
-p แสดง ReadLine ชื่อฟังก์ชันและการผูกมัดในลักษณะที่สามารถเป็น
อ่านซ้ำ
-P รายการปัจจุบัน ReadLine ชื่อฟังก์ชันและการผูก
-s แสดง ReadLine ลำดับคีย์ที่ผูกไว้กับมาโครและสตริงที่ส่งออก
ในลักษณะที่สามารถอ่านซ้ำได้
-S แสดง ReadLine ลำดับคีย์ที่ผูกไว้กับมาโครและสตริงที่ส่งออก
-v แสดง ReadLine ชื่อตัวแปรและค่าต่างๆ ในลักษณะที่สามารถเป็นได้
อ่านซ้ำ
-V รายการปัจจุบัน ReadLine ชื่อตัวแปรและค่าต่างๆ
-f ชื่อไฟล์
อ่านการผูกคีย์จาก ชื่อไฟล์.
-q ฟังก์ชัน
แบบสอบถามเกี่ยวกับคีย์ที่เรียกชื่อ ฟังก์ชัน.
-u ฟังก์ชัน
เลิกผูกคีย์ทั้งหมดที่ผูกไว้กับชื่อ ฟังก์ชัน.
-r คีย์
ลบการผูกปัจจุบันใดๆ สำหรับ คีย์.
-x คีย์:เชลล์-คำสั่ง
ก่อให้เกิด เชลล์-คำสั่ง ที่จะถูกประหารชีวิตเมื่อไรก็ได้ คีย์ ถูกป้อน เมื่อไหร่
เชลล์-คำสั่ง ถูกดำเนินการ เชลล์ตั้งค่า READLINE_LINE ตัวแปรเป็น
เนื้อหาของ ReadLine บัฟเฟอร์บรรทัดและ READLINE_POINT ตัวแปรเป็น
ตำแหน่งปัจจุบันของจุดแทรก หากคำสั่งที่ดำเนินการเปลี่ยนแปลง
ค่าของ READLINE_LINE or READLINE_POINTค่าใหม่เหล่านั้นจะเป็น
สะท้อนอยู่ในสถานะการแก้ไข
-X แสดงรายการลำดับคีย์ทั้งหมดที่ผูกไว้กับคำสั่งเชลล์และคำสั่งที่เกี่ยวข้อง
ในรูปแบบที่สามารถนำกลับมาใช้เป็นอินพุตได้

ค่าที่ส่งกลับเป็น 0 เว้นแต่จะมีการระบุตัวเลือกที่ไม่รู้จักหรือมีข้อผิดพลาดเกิดขึ้น

ทำลาย [n]
ออกจากภายใน a for , ในขณะที่, จนกระทั่ง,หรือ เลือก ห่วง ถ้า n ถูกกำหนด, ทำลาย n
ระดับ n จะต้อง ≥ 1 ถ้า n มากกว่าจำนวนรอบที่ล้อมรอบทั้งหมด
ออกจากลูปล้อมรอบ ค่าที่ส่งคืนคือ 0 เว้นแต่ n ไม่เกินหรือ
เท่ากับ 1

ในตัว เปลือกในตัว [ข้อโต้แย้ง]
ดำเนินการเชลล์บิวด์อินที่ระบุ ผ่านมัน ข้อโต้แย้งและกลับทางออก
สถานะ. สิ่งนี้มีประโยชน์เมื่อกำหนดฟังก์ชันที่มีชื่อเหมือนกับเชลล์
บิวด์อิน โดยคงฟังก์ชันของบิวด์อินไว้ภายในฟังก์ชัน ดิ cd
โดยทั่วไปแล้วบิวด์อินจะถูกนิยามใหม่ด้วยวิธีนี้ สถานะการส่งคืนเป็นเท็จ if
เปลือกในตัว ไม่ใช่คำสั่งในตัวของเชลล์

ผู้โทร [ด่วน]
ส่งคืนบริบทของการเรียกรูทีนย่อยที่ใช้งานอยู่ (ฟังก์ชันเชลล์หรือสคริปต์
ประหารชีวิตด้วย . or แหล่ง บิวอิน) ปราศจาก ด่วน, ผู้โทร แสดงเส้น
หมายเลขและชื่อไฟล์ต้นทางของการเรียกรูทีนย่อยปัจจุบัน ถ้าไม่ใช่ค่าลบ
จำนวนเต็มถูกจัดให้เป็น ด่วน, ผู้โทร แสดงหมายเลขบรรทัด ชื่อรูทีนย่อย และ
ไฟล์ต้นฉบับที่สอดคล้องกับตำแหน่งนั้นในสแต็กการเรียกการดำเนินการปัจจุบัน
อาจใช้ข้อมูลพิเศษนี้ เช่น เพื่อพิมพ์การติดตามสแต็ก ดิ
เฟรมปัจจุบันคือเฟรม 0 ค่าที่ส่งคืนคือ 0 เว้นแต่ว่าเชลล์จะไม่ทำงาน
การโทรรูทีนย่อยหรือ ด่วน ไม่ตรงกับตำแหน่งที่ถูกต้องในการเรียก
กอง

cd [-L|[-P [-e-dir]
เปลี่ยนไดเร็กทอรีปัจจุบันเป็น dir. ถ้า dir ไม่ได้ระบุมูลค่าของ หน้าหลัก
ตัวแปรเชลล์เป็นค่าเริ่มต้น อาร์กิวเมนต์เพิ่มเติมใด ๆ ต่อไปนี้ dir จะถูกละเว้น
ตัวแปร CDPATH กำหนดเส้นทางการค้นหาสำหรับไดเร็กทอรีที่มี dir: แต่ละอัน
ชื่อไดเรกทอรีใน CDPATH กำลังค้นหา dir. ชื่อไดเร็กทอรีสำรองใน
CDPATH คั่นด้วยเครื่องหมายทวิภาค (:) ชื่อไดเร็กทอรี null ใน CDPATH เหมือนกัน
เป็นไดเร็กทอรีปัจจุบัน กล่าวคือ ``.''. ถ้า dir เริ่มต้นด้วยเครื่องหมายทับ (/) จากนั้น CDPATH
ไม่ได้ใช้ -P สาเหตุทางเลือก cd เพื่อใช้โครงสร้างฟิสิคัลไดเร็กทอรีโดย
กำลังแก้ไขลิงก์สัญลักษณ์ขณะเดินทาง dir และก่อนประมวลผลอินสแตนซ์ของ ..
in dir (ดูที่ -P ตัวเลือก ชุด คำสั่งในตัว); ที่ -L กองกำลังทางเลือก
ลิงก์สัญลักษณ์ตามด้วยการแก้ไขลิงก์หลังจากประมวลผลอินสแตนซ์ของ
.. in dir. ถ้า .. ปรากฏใน dir, มันถูกประมวลผลโดยการลบทันที
ส่วนประกอบชื่อพาธก่อนหน้าจาก dir, กลับไปที่เครื่องหมายทับหรือจุดเริ่มต้นของ dir. ถ้า
-e ตัวเลือกมาพร้อมกับ -Pและไดเรกทอรีการทำงานปัจจุบันไม่สามารถเป็น
กำหนดได้สำเร็จหลังจากเปลี่ยนไดเร็กทอรีสำเร็จ cd จะกลับมา
สถานะไม่สำเร็จ ในระบบที่รองรับนั้น -@ ตัวเลือกนำเสนอ
แอ็ตทริบิวต์ขยายที่เกี่ยวข้องกับไฟล์เป็นไดเร็กทอรี ข้อโต้แย้งของ - is
แปลงเป็น $OLDPWD ก่อนที่จะพยายามเปลี่ยนไดเร็กทอรี ถ้าไม่ว่าง
ชื่อไดเรกทอรีจาก CDPATH ถูกใช้ หรือ if - เป็นอาร์กิวเมนต์แรก และ
การเปลี่ยนไดเร็กทอรีสำเร็จ ชื่อพาธสัมบูรณ์ของไดเร็กทอรีการทำงานใหม่
ถูกเขียนไปยังเอาต์พุตมาตรฐาน ค่าที่ส่งคืนเป็นจริงถ้าไดเร็กทอรีเป็น
เปลี่ยนสำเร็จแล้ว เท็จเป็นอย่างอื่น

คำสั่ง [-พีวีวี] คำสั่ง [หาเรื่อง ... ]
วิ่ง คำสั่ง กับ args ระงับการค้นหาฟังก์ชันเชลล์ปกติ สร้างขึ้นเท่านั้น
คำสั่งหรือคำสั่งที่พบใน เส้นทาง ถูกประหารชีวิต ถ้า -p มีตัวเลือกให้
การค้นหา คำสั่ง ดำเนินการโดยใช้ค่าเริ่มต้นสำหรับ เส้นทาง นั่นคือ
รับประกันว่าจะพบยูทิลิตี้มาตรฐานทั้งหมด ถ้าทั้ง -V or -v ตัวเลือกที่
ให้คำอธิบายของ คำสั่ง ถูกพิมพ์ ดิ -v ตัวเลือกทำให้เกิดคำเดียว
ระบุคำสั่งหรือชื่อไฟล์ที่ใช้เรียก คำสั่ง ที่จะแสดง; ที่ -V
ตัวเลือกสร้างคำอธิบายที่ละเอียดยิ่งขึ้น ถ้า -V or -v มีตัวเลือกให้
สถานะการออกคือ 0 if คำสั่ง ถูกพบ และ 1 ถ้าไม่พบ หากไม่มีตัวเลือกใด
ที่ให้มาและมีข้อผิดพลาดเกิดขึ้นหรือ คำสั่ง ไม่พบสถานะออกคือ 127
มิฉะนั้นสถานะการออกของ คำสั่ง builtin เป็นสถานะทางออกของ คำสั่ง.

ส่วนประกอบ [ตัวเลือก] [word]
สร้างการจับคู่ที่สมบูรณ์ที่เป็นไปได้สำหรับ word ตามที่ ตัวเลือกซึ่งอาจ
เป็นตัวเลือกใด ๆ ที่ยอมรับโดย สมบูรณ์ สร้างขึ้นด้วยข้อยกเว้นของ -p และ -rและ
เขียนการแข่งขันไปยังเอาต์พุตมาตรฐาน เมื่อใช้ -F or -C ตัวเลือก
ตัวแปรเชลล์ต่าง ๆ ที่กำหนดโดยสิ่งอำนวยความสะดวกในการตั้งโปรแกรมให้เสร็จในขณะที่
ใช้ได้จะไม่มีค่าที่เป็นประโยชน์

การแข่งขันจะถูกสร้างขึ้นในลักษณะเดียวกับโปรแกรมสำเร็จรูป
รหัสได้สร้างพวกเขาโดยตรงจากข้อกำหนดการเสร็จสิ้นด้วยเดียวกัน
ธง ถ้า word ระบุเฉพาะการเสร็จสิ้นที่ตรงกัน word จะ
แสดง

ค่าที่ส่งกลับเป็นจริงเว้นแต่จะระบุตัวเลือกที่ไม่ถูกต้องหรือไม่มีค่าที่ตรงกัน
สร้างขึ้น

สมบูรณ์ [-abcdefgjksuv] [-o ตัวเลือกคอมพ์] [-พ] [-A การกระทำ] [-G โกลปัต] [-W รายการคำศัพท์] [-F
ฟังก์ชัน] [-C คำสั่ง]
[-X ตัวกรอง] [-P อุปสรรค] [-S วิภัตติ] ชื่อ [ชื่อ ...]
สมบูรณ์ - พฤ [-พ] [ชื่อ ... ]
ระบุวิธีโต้แย้งแต่ละข้อ ชื่อ ควรจะแล้วเสร็จ ถ้า -p ตัวเลือกที่
ให้มา หรือหากไม่มีตัวเลือกให้ ข้อมูลจำเพาะของความสมบูรณ์ที่มีอยู่จะเป็น
พิมพ์ในลักษณะที่สามารถนำกลับมาใช้ใหม่เป็นอินพุตได้ ดิ -r ตัวเลือกลบ a
ข้อมูลจำเพาะที่สมบูรณ์สำหรับแต่ละ ชื่อหรือถ้าไม่ใช่ ชื่อมีให้ทั้งหมด
ข้อกำหนดการเสร็จสิ้น ดิ -D ตัวเลือกแสดงว่าตัวเลือกที่เหลือและ
การดำเนินการควรใช้กับคำสั่ง ``default'' ที่เสร็จสิ้น; กล่าวคือ สำเร็จ
พยายามใช้คำสั่งที่ไม่ได้กำหนดความสมบูรณ์ไว้ก่อนหน้านี้ ดิ -E
ตัวเลือกระบุว่าตัวเลือกและการดำเนินการที่เหลือควรใช้กับ ``ว่างเปล่า''
เสร็จสิ้นคำสั่ง; นั่นคือพยายามทำให้เสร็จในบรรทัดว่าง

กระบวนการของการใช้ข้อกำหนดการเสร็จสิ้นเหล่านี้เมื่อคำสมบูรณ์คือ
พยายามอธิบายไว้ข้างต้นภายใต้ โปรแกรมได้ สร้างเสร็จ.

ตัวเลือกอื่นๆ หากระบุไว้ มีความหมายดังต่อไปนี้ ข้อโต้แย้งของ -G,
-Wและ -X ตัวเลือกต่างๆ (และหากจำเป็น -P และ -S ตัวเลือก) ควรยกมาที่
ปกป้องพวกเขาจากการขยายตัวก่อน สมบูรณ์ builtin ถูกเรียกใช้
-o ตัวเลือกคอมพ์
พื้นที่ ตัวเลือกคอมพ์ ควบคุมพฤติกรรมของ compspec ได้หลายด้านนอกเหนือจาก
การสร้างความสมบูรณ์อย่างง่าย ตัวเลือกคอมพ์ อาจเป็นหนึ่งใน:
ทุบตีเริ่มต้น
ดำเนินการส่วนที่เหลือของค่าเริ่มต้น ทุบตี เสร็จสิ้นถ้า compspec
สร้างไม่ตรงกัน
ผิดนัด ใช้การเติมชื่อไฟล์เริ่มต้นของ readline หาก compspec
สร้างไม่ตรงกัน
นามสกุล
ดำเนินการตั้งชื่อไดเร็กทอรีให้สมบูรณ์หาก compspec สร้าง no
ไม้ขีด
ชื่อไฟล์
บอก readline ว่า compspec สร้างชื่อไฟล์จึงทำได้
ดำเนินการประมวลผลเฉพาะชื่อไฟล์ (เช่น เพิ่มเครื่องหมายทับไปยัง
ชื่อไดเร็กทอรี การอ้างอิงอักขระพิเศษ หรือการระงับ
ช่องว่างต่อท้าย) มีไว้สำหรับใช้กับฟังก์ชันเชลล์
ไม่อ้าง บอก readline ว่าอย่าอ้างคำที่กรอกแล้วหากเป็น
ชื่อไฟล์ (การอ้างอิงชื่อไฟล์เป็นค่าเริ่มต้น)
ไม่มีที่ว่าง บอก readline ว่าอย่าเติมช่องว่าง (ค่าเริ่มต้น) ต่อท้ายคำ
เสร็จสิ้นที่ส่วนท้ายของบรรทัด
พลัสเดอร์
หลังจากสร้างการแข่งขันที่กำหนดโดย compspec แล้ว directory
มีการพยายามตั้งชื่อให้สมบูรณ์และมีการเพิ่มการแข่งขันใด ๆ ลงใน
ผลของการกระทำอื่นๆ
-A การกระทำ
พื้นที่ การกระทำ อาจเป็นหนึ่งในสิ่งต่อไปนี้เพื่อสร้างรายการที่เป็นไปได้
เสร็จสิ้น:
นามแฝง ชื่อนามแฝง. อาจระบุเป็น -a.
อาร์เรย์วาร์
ชื่อตัวแปรอาร์เรย์
ผูกพัน ไลน์อ่าน ชื่อการผูกคีย์
ในตัว ชื่อของคำสั่งเชลล์บิวด์อิน อาจระบุเป็น -b.
คำสั่ง ชื่อคำสั่ง อาจระบุเป็น -c.
ไดเรกทอรี
ชื่อไดเร็กทอรี อาจระบุเป็น -d.
พิการ
ชื่อของเชลล์บิวด์อินที่ปิดใช้งาน
เปิดการใช้งาน ชื่อของเชลล์บิวด์อินที่เปิดใช้งาน
ส่งออก ชื่อของตัวแปรเชลล์ที่ส่งออก อาจระบุเป็น -e.
ไฟล์ ชื่อไฟล์. อาจระบุเป็น -f.
ฟังก์ชัน
ชื่อของฟังก์ชันเชลล์
กลุ่ม ชื่อกลุ่ม. อาจระบุเป็น -g.
หัวข้อช่วยเหลือ
หัวข้อช่วยเหลือที่ .ยอมรับ ช่วย สร้างขึ้น
ชื่อโฮสต์
ชื่อโฮสต์ตามที่นำมาจากไฟล์ที่ระบุโดย โฮสต์ไฟล์ เปลือก
ตัวแปร
งาน ชื่องาน หากการควบคุมงานเปิดใช้งานอยู่ อาจระบุเป็น -j.
คีย์เวิร์ด คำสงวนเชลล์ อาจระบุเป็น -k.
วิ่ง ชื่อของงานที่กำลังทำงาน ถ้าการควบคุมงานเปิดใช้งานอยู่
บริการ ชื่อบริการ อาจระบุเป็น -s.
การตั้งค่า อาร์กิวเมนต์ที่ถูกต้องสำหรับ -o ตัวเลือก ชุด สร้างขึ้น
ช๊อปปิ้ง ชื่อตัวเลือกเชลล์ตามที่ .ยอมรับ ช๊อปปิ้ง สร้างขึ้น
สัญญาณ ชื่อสัญญาณ
หยุด ชื่อของงานที่หยุด ถ้าการควบคุมงานเปิดใช้งานอยู่
ผู้ใช้งาน ชื่อผู้ใช้ อาจระบุเป็น -u.
ตัวแปร
ชื่อของตัวแปรเชลล์ทั้งหมด อาจระบุเป็น -v.
-C คำสั่ง
คำสั่ง ถูกดำเนินการในสภาพแวดล้อมของเชลล์ย่อย และผลลัพธ์ของมันถูกใช้เป็น
ความสำเร็จที่เป็นไปได้
-F ฟังก์ชัน
ฟังก์ชันเชลล์ ฟังก์ชัน ถูกดำเนินการในสภาพแวดล้อมของเชลล์ปัจจุบัน
เมื่อดำเนินการฟังก์ชัน อาร์กิวเมนต์แรก ($1) เป็นชื่อของ
คำสั่งที่อาร์กิวเมนต์เสร็จสิ้น อาร์กิวเมนต์ที่สอง ($2) คือ
คำที่เสร็จสมบูรณ์และอาร์กิวเมนต์ที่สาม ($3) เป็นคำนำหน้า
คำที่เสร็จสมบูรณ์บนบรรทัดคำสั่งปัจจุบัน เมื่อเสร็จแล้ว
ความสำเร็จที่เป็นไปได้จะถูกดึงมาจากค่าของ สมบูรณ์
ตัวแปรอาร์เรย์
-G โกลปัต
รูปแบบการขยายชื่อพาธ โกลปัต ถูกขยายเพื่อสร้างความเป็นไปได้
เสร็จสิ้น
-P อุปสรรค
อุปสรรค ถูกเพิ่มในตอนต้นของการสำเร็จแต่ละครั้งที่เป็นไปได้ทั้งหมด
มีการใช้ตัวเลือกอื่น ๆ
-S วิภัตติ
วิภัตติ ถูกผนวกเข้ากับความสมบูรณ์ที่เป็นไปได้หลังจากตัวเลือกอื่นๆ ทั้งหมดมี
ถูกนำไปใช้
-W รายการคำศัพท์
พื้นที่ รายการคำศัพท์ ถูกแบ่งโดยใช้อักขระใน ไอเอฟเอ ตัวแปรพิเศษ as
ตัวคั่น และคำผลลัพธ์แต่ละคำจะถูกขยาย ความสำเร็จที่เป็นไปได้
เป็นสมาชิกของรายการผลลัพธ์ที่ตรงกับคำที่กรอก
-X ตัวกรอง
ตัวกรอง เป็นรูปแบบที่ใช้สำหรับการขยายชื่อพาธ มันถูกนำไปใช้กับ
รายการของความสำเร็จที่เป็นไปได้ที่สร้างขึ้นโดยตัวเลือกก่อนหน้านี้และ
ข้อโต้แย้งและการจับคู่ความสมบูรณ์แต่ละครั้ง ตัวกรอง ถูกลบออกจากรายการ
เป็นผู้นำ ! in ตัวกรอง ปฏิเสธรูปแบบ; ในกรณีนี้การเสร็จสิ้นใด ๆ
ไม่ตรงกัน ตัวกรอง ถูกลบออก

ค่าที่ส่งกลับเป็นจริงเว้นแต่จะระบุตัวเลือกที่ไม่ถูกต้อง ตัวเลือกอื่นที่ไม่ใช่
-p or -r มีให้โดยไม่มีa ชื่อ อาร์กิวเมนต์พยายามที่จะลบ
ข้อกำหนดการเสร็จสิ้นสำหรับa ชื่อ ที่ไม่มีข้อมูลจำเพาะหรือข้อผิดพลาด
เกิดขึ้นโดยการเพิ่มข้อกำหนดการเสร็จสิ้น

ปุ๋ยหมัก [-o ตัวเลือก] [-พ] [+o ตัวเลือก] [ชื่อ]
แก้ไขตัวเลือกเสร็จสิ้นสำหรับแต่ละ ชื่อ ตามที่ ตัวเลือกs หรือสำหรับ
กำลังดำเนินการเสร็จสิ้นหากไม่มี ชื่อมีการจัดหาให้ ถ้าไม่ ตัวเลือกจะได้รับ,
แสดงตัวเลือกการเสร็จสิ้นสำหรับแต่ละ ชื่อ หรือปัจจุบันเสร็จสิ้น ดิ
ค่าที่เป็นไปได้ของ ตัวเลือก สิ่งที่ถูกต้องสำหรับ สมบูรณ์ ในตัวที่อธิบายไว้ข้างต้น
พื้นที่ -D option ระบุว่าตัวเลือกที่เหลือควรใช้กับ ``default''
เสร็จสิ้นคำสั่ง; กล่าวคือ พยายามดำเนินการให้เสร็จสิ้นตามคำสั่งซึ่งไม่มี
ได้ถูกกำหนดไว้แล้วก่อนหน้านี้ ดิ -E ตัวเลือกแสดงว่าส่วนที่เหลือ
ตัวเลือกควรใช้กับคำสั่ง ``ว่าง'' ที่เสร็จสิ้น; นั่นคือพยายามทำให้เสร็จ
บนบรรทัดว่าง

ค่าที่ส่งกลับเป็นจริงเว้นแต่จะระบุตัวเลือกที่ไม่ถูกต้อง พยายามทำ
เพื่อแก้ไขตัวเลือกสำหรับ a ชื่อ ที่ไม่มีข้อกำหนดความสมบูรณ์หรือ
เกิดข้อผิดพลาดในการส่งออก

ต่อ [n]
ดำเนินการต่อการวนซ้ำถัดไปของสิ่งที่แนบมา for , ในขณะที่, จนกระทั่ง,หรือ เลือก ห่วง ถ้า n
ถูกกำหนดให้ดำเนินการต่อที่ nวงปิด n จะต้อง ≥ 1 ถ้า n ยิ่งใหญ่กว่า
กว่าจำนวนลูปที่ล้อมรอบ ลูปที่ล้อมรอบสุดท้าย (``ระดับบนสุด''
วนซ้ำ) กลับมาทำงานต่อ ค่าที่ส่งคืนคือ 0 เว้นแต่ n ไม่เกินหรือเท่ากับ
1.

ประกาศ [-aAfFgilnrtux] [-p] [ชื่อ[=ความคุ้มค่า-
เรียงพิมพ์ [-aAfFgilnrtux] [-p] [ชื่อ[=ความคุ้มค่า-
ประกาศตัวแปรและ/หรือระบุคุณสมบัติ ถ้าไม่ ชื่อs ได้รับแล้วแสดง
ค่าของตัวแปร ดิ -p ตัวเลือกจะแสดงคุณสมบัติและค่าของ
แต่ละ ชื่อ. เมื่อ -p ใช้กับ ชื่อ ข้อโต้แย้ง ตัวเลือกเพิ่มเติม นอกเหนือจาก -f
และ -F, ถูกละเลย เมื่อไหร่ -p มีให้โดยไม่ต้อง ชื่อ ข้อโต้แย้งก็จะแสดง
คุณลักษณะและค่าของตัวแปรทั้งหมดที่มีคุณลักษณะที่ระบุโดย
ตัวเลือกเพิ่มเติม หากไม่มีตัวเลือกอื่นให้มาด้วย -p, ประกาศ จะแสดง
คุณลักษณะและค่าของตัวแปรเชลล์ทั้งหมด ดิ -f ตัวเลือกจะ จำกัด
แสดงไปยังฟังก์ชันเชลล์ ดิ -F ตัวเลือกยับยั้งการแสดงฟังก์ชั่น
คำจำกัดความ; พิมพ์เฉพาะชื่อฟังก์ชันและแอตทริบิวต์เท่านั้น ถ้า ขยายข้อบกพร่อง
เปิดใช้งานตัวเลือกเชลล์โดยใช้ ช๊อปปิ้ง, ชื่อไฟล์ต้นทางและหมายเลขบรรทัดที่
มีการแสดงฟังก์ชันที่กำหนดไว้ด้วย ดิ -F ตัวเลือกหมายถึง -f. -g
option บังคับให้สร้างหรือแก้ไขตัวแปรที่ขอบเขตทั่วโลกแม้ว่า
ประกาศ ถูกดำเนินการในฟังก์ชันเชลล์ มันถูกละเว้นในกรณีอื่น ๆ ทั้งหมด ดิ
ตัวเลือกต่อไปนี้สามารถใช้เพื่อจำกัดเอาต์พุตไปยังตัวแปรตามที่ระบุ
แอตทริบิวต์หรือให้แอตทริบิวต์ตัวแปร:
-a แต่ละ ชื่อ เป็นตัวแปรอาร์เรย์ที่จัดทำดัชนี (ดู อาร์เรย์ ข้างบน).
-A แต่ละ ชื่อ เป็นตัวแปรอาเรย์แบบเชื่อมโยง (ดู อาร์เรย์ ข้างบน).
-f ใช้ชื่อฟังก์ชันเท่านั้น
-i ตัวแปรถือเป็นจำนวนเต็ม การประเมินเลขคณิต (ดู เลขคณิต
การประเมินผล ด้านบน) จะดำเนินการเมื่อกำหนดค่าตัวแปร
-l เมื่อกำหนดค่าตัวแปรแล้ว อักขระตัวพิมพ์ใหญ่ทั้งหมดจะเป็น
แปลงเป็นตัวพิมพ์เล็ก แอตทริบิวต์ตัวพิมพ์ใหญ่ถูกปิดใช้งาน
-n ให้แต่ละ ชื่อ ชื่อref คุณลักษณะทำให้เป็นชื่ออ้างอิงถึงผู้อื่น
ตัวแปร. ตัวแปรอื่นนั้นถูกกำหนดโดยค่าของ ชื่อ. ทั้งหมด
การอ้างอิงและการมอบหมายให้ ชื่อยกเว้นการเปลี่ยน -n คุณลักษณะ
ตัวเองถูกดำเนินการกับตัวแปรที่อ้างอิงโดย ชื่อค่าของ ดิ -n
แอตทริบิวต์ไม่สามารถใช้กับตัวแปรอาร์เรย์
-r ทำ ชื่ออ่านอย่างเดียว ชื่อเหล่านี้ไม่สามารถกำหนดค่าโดย
คำสั่งการมอบหมายที่ตามมาหรือไม่ได้ตั้งค่า
-t ให้แต่ละ ชื่อ ติดตาม คุณลักษณะ. ฟังก์ชันที่ติดตามจะสืบทอด แก้ปัญหา และ
กลับ กับดักจากเชลล์การโทร แอตทริบิวต์การติดตามไม่มีพิเศษ
ความหมายสำหรับตัวแปร
-u เมื่อกำหนดค่าตัวแปรแล้ว อักขระตัวพิมพ์เล็กทั้งหมดจะเป็น
แปลงเป็นตัวพิมพ์ใหญ่ แอตทริบิวต์ตัวพิมพ์เล็กถูกปิดใช้งาน
-x ทำเครื่องหมาย ชื่อs เพื่อส่งออกไปยังคำสั่งที่ตามมาผ่านสภาพแวดล้อม

การใช้ `+' แทน `-' จะปิดแอตทริบิวต์แทน ยกเว้นว่า
+a ไม่สามารถใช้เพื่อทำลายตัวแปรอาร์เรย์และ +r จะไม่ลบการอ่านอย่างเดียว
คุณลักษณะ. เมื่อนำมาใช้ในฟังก์ชัน ประกาศ และ เรียงพิมพ์ ทำให้แต่ละ ชื่อ ท้องถิ่น as
กับ ในประเทศ คำสั่ง เว้นแต่ -g มีตัวเลือกให้ หากชื่อตัวแปรคือ
ตามด้วย =ความคุ้มค่า, ค่าของตัวแปรถูกกำหนดเป็น ความคุ้มค่า. เมื่อใช้ -a or -A
และรูปแบบการกำหนดแบบผสมเพื่อสร้างตัวแปรอาร์เรย์ คุณลักษณะเพิ่มเติม
ไม่ให้มีผลจนกว่าจะได้รับมอบหมายในภายหลัง ค่าที่ส่งคืนคือ 0 เว้นแต่ an
พบตัวเลือกที่ไม่ถูกต้อง มีความพยายามที่จะกำหนดฟังก์ชันโดยใช้ ``-f
foo=bar'' มีความพยายามที่จะกำหนดค่าให้กับตัวแปรแบบอ่านอย่างเดียว ความพยายาม
ถูกสร้างขึ้นเพื่อกำหนดค่าให้กับตัวแปรอาร์เรย์โดยไม่ต้องใช้สารประกอบ
ไวยากรณ์การมอบหมาย (ดู อาร์เรย์ ด้านบน) หนึ่งใน ชื่อ ไม่ใช่เชลล์ที่ถูกต้อง
ชื่อตัวแปร มีความพยายามที่จะปิดสถานะอ่านอย่างเดียวสำหรับการอ่านอย่างเดียว
ตัวแปร พยายามปิดสถานะอาร์เรย์สำหรับตัวแปรอาร์เรย์ หรือ an
มีการพยายามแสดงฟังก์ชันที่ไม่มีอยู่ด้วย -f.

dirs [-clpv] [+n] [-n]
หากไม่มีตัวเลือก แสดงรายการไดเร็กทอรีที่จำได้ในปัจจุบัน ดิ
การแสดงเริ่มต้นอยู่ในบรรทัดเดียวโดยมีชื่อไดเร็กทอรีคั่นด้วยช่องว่าง
ไดเร็กทอรีถูกเพิ่มลงในรายการด้วย pushd สั่งการ; NS popd คำสั่งลบ
รายการจากรายการ
-c ล้างไดเร็กทอรีสแต็กโดยการลบรายการทั้งหมด
-l สร้างรายการโดยใช้ชื่อพาธแบบเต็ม รูปแบบรายการเริ่มต้นใช้a
ตัวหนอนเพื่อแสดงโฮมไดเร็กทอรี
-p พิมพ์ไดเร็กทอรีกองหนึ่งรายการต่อบรรทัด
-v พิมพ์ไดเร็กทอรีสแต็กด้วยหนึ่งรายการต่อบรรทัด โดยนำหน้าแต่ละรายการด้วย
ดัชนีในสแต็ก
+n แสดงไฟล์ nรายการที่นับจากด้านซ้ายของรายการที่แสดงโดย dirs เมื่อ
เรียกใช้โดยไม่มีตัวเลือก เริ่มต้นด้วยศูนย์
-n แสดงไฟล์ nรายการที่นับจากด้านขวาของรายการที่แสดงโดย dirs
เมื่อเรียกใช้โดยไม่มีตัวเลือกเริ่มต้นด้วยศูนย์

ค่าที่ส่งคืนคือ 0 เว้นแต่จะระบุตัวเลือกที่ไม่ถูกต้องหรือ n ดัชนีที่อยู่นอกเหนือ
จุดสิ้นสุดของไดเร็กทอรีสแต็ก

ปฏิเสธ [-ar] [-h] [รายละเอียดงาน ... ]
หากไม่มีตัวเลือก ให้ลบแต่ละรายการ รายละเอียดงาน จากตารางงานที่ใช้งานอยู่ ถ้า รายละเอียดงาน is
ไม่อยู่และทั้ง -a หรือ -r มีตัวเลือกให้ the ปัจจุบัน งาน is
ใช้แล้ว. ถ้า -h มีตัวเลือกให้แต่ละ รายละเอียดงาน ไม่ได้ถูกลบออกจากโต๊ะแต่
ถูกทำเครื่องหมายเพื่อให้ ซิกอัพ จะไม่ถูกส่งไปยังงานหากเชลล์ได้รับ a ซิกอัพ. ถ้า
ไม่ รายละเอียดงาน ถูกจัดให้ -a option หมายถึงการลบหรือทำเครื่องหมายงานทั้งหมด ที่ -r
ตัวเลือกที่ไม่มี a รายละเอียดงาน อาร์กิวเมนต์จำกัดการดำเนินการกับงานที่ทำงานอยู่ การกลับมา
ค่าเป็น 0 เว้นแต่ a รายละเอียดงาน ไม่ได้ระบุงานที่ถูกต้อง

เสียงสะท้อน [-เนอี] [หาเรื่อง ... ]
เอาท์พุท หาเรื่องs คั่นด้วยช่องว่าง ตามด้วยขึ้นบรรทัดใหม่ สถานะการส่งคืนคือ
0 เว้นแต่จะเกิดข้อผิดพลาดในการเขียน ถ้า -n ถูกระบุ การขึ้นบรรทัดใหม่ต่อท้ายคือ
ถูกระงับ ถ้า -e ให้ตัวเลือก การตีความแบ็กสแลชต่อไปนี้
เปิดใช้งานอักขระที่ใช้ Escape ดิ -E ตัวเลือกปิดการใช้งานการตีความเหล่านี้
อักขระหลีก แม้ในระบบที่มีการตีความตามค่าเริ่มต้น ดิ
xpg_echo เชลล์อาจใช้ตัวเลือกเชลล์เพื่อกำหนดแบบไดนามิกว่า เสียงสะท้อน
ขยายอักขระหลีกเหล่านี้ตามค่าเริ่มต้น เสียงสะท้อน ไม่ได้ตีความ -- หมายถึง
สิ้นสุดตัวเลือก เสียงสะท้อน ตีความลำดับการหลบหนีต่อไปนี้:
\a การแจ้งเตือน (กระดิ่ง)
\b Backspace
\c ระงับการส่งออกเพิ่มเติม
\e
\E ตัวละครหนี
\f ฟีดรูปแบบ
\n บรรทัดใหม่
\r คืนรถ
\t แท็บแนวนอน
\v แท็บแนวตั้ง
\\ แบ็กสแลช
\0มมมม อักขระแปดบิตที่มีค่าเป็นค่าฐานแปด มมมม (ศูนย์ถึงสาม
เลขฐานแปด)
\xHH อักขระแปดบิตที่มีค่าเป็นค่าเลขฐานสิบหก HH (หนึ่งหรือสอง
เลขฐานสิบหก)
\u อักขระ Unicode (ISO/IEC 10646) ที่มีค่าเป็นค่าเลขฐานสิบหก
(เลขฐานสิบหกหนึ่งถึงสี่หลัก)
\Uฮือออออ
อักขระ Unicode (ISO/IEC 10646) ที่มีค่าเป็นค่าเลขฐานสิบหก
ฮือออออ (เลขฐานสิบหกหนึ่งถึงแปด)

ทำให้สามารถ [-a] [-dnps] [-f ชื่อไฟล์] [ชื่อ ... ]
เปิดใช้งานและปิดใช้งานคำสั่งเชลล์ในตัว การปิดใช้งานบิวด์อินทำให้ดิสก์
คำสั่งที่มีชื่อเดียวกับเชลล์บิวด์อินที่จะรันโดยไม่ต้อง
การระบุชื่อพาธแบบเต็ม แม้ว่าปกติเชลล์จะค้นหา buildins
ก่อนคำสั่งดิสก์ ถ้า -n ใช้แต่ละ ชื่อ ถูกปิดใช้งาน; มิฉะนั้น, ชื่อ เป็น
เปิดใช้งาน ตัวอย่างเช่น การใช้ ทดสอบ ไบนารีที่พบผ่านทาง เส้นทาง แทนการ
เวอร์ชันในตัวของเชลล์ เรียกใช้ ``enable -n test'' ดิ -f ตัวเลือกหมายถึงการโหลดใหม่
คำสั่งในตัว ชื่อ จากวัตถุที่ใช้ร่วมกัน ชื่อไฟล์, บนระบบที่รองรับไดนามิก
กำลังโหลด ดิ -d ตัวเลือกจะลบบิวด์อินที่โหลดไว้ก่อนหน้านี้ด้วย -f. ถ้าไม่
ชื่อ อาร์กิวเมนต์จะได้รับหรือถ้า -p มีการจัดหาตัวเลือก รายการของเชลล์บิวด์อิน
ถูกพิมพ์ ไม่มีอาร์กิวเมนต์ตัวเลือกอื่น รายการประกอบด้วย shell . ที่เปิดใช้งานทั้งหมด
บิวอิน ถ้า -n ถูกจัดให้พิมพ์เฉพาะบิลด์อินที่ปิดใช้งานเท่านั้น ถ้า -a is
ที่จัดมา รายการพิมพ์รวมถึงสิ่งก่อสร้างทั้งหมด โดยมีข้อบ่งชี้ว่าหรือ
ไม่ได้เปิดใช้งานแต่ละรายการ ถ้า -s ถูกจัดให้ เอาต์พุตถูกจำกัดไว้ที่POSIX
พิเศษ บิวอิน ค่าที่ส่งคืนคือ 0 เว้นแต่ a ชื่อ ไม่ใช่เชลล์บิวด์อินหรือ
มีข้อผิดพลาดในการโหลดบิวด์อินใหม่จากอ็อบเจ็กต์ที่ใช้ร่วมกัน

ประเมิน [หาเรื่อง ... ]
พื้นที่ หาเรื่องs ถูกอ่านและต่อเข้าด้วยกันเป็นคำสั่งเดียว คำสั่งนี้คือ
จากนั้นอ่านและดำเนินการโดยเชลล์ และสถานะการออกจะถูกส่งกลับเป็นค่า
of ประเมิน. ถ้าไม่มี argsหรืออาร์กิวเมนต์ที่เป็นโมฆะเท่านั้น ประเมิน ผลตอบแทน 0.

exec [-cl] [-a ชื่อ] [คำสั่ง [ข้อโต้แย้ง]]
If คำสั่ง ระบุไว้จะแทนที่เชลล์ ไม่มีการสร้างกระบวนการใหม่ ดิ
ข้อโต้แย้ง กลายเป็นข้อโต้แย้งของ คำสั่ง. หาก -l มีตัวเลือกให้ เปลือก
วางเส้นประที่จุดเริ่มต้นของอาร์กิวเมนต์ที่ศูนย์ที่ส่งผ่านไปยัง คำสั่ง. นี่คือ
อะไร เข้าสู่ระบบ(1) ทำ NS -c สาเหตุทางเลือก คำสั่ง ที่จะถูกประหารชีวิตด้วยความว่างเปล่า
สิ่งแวดล้อม. ถ้า -a ถูกจัดให้, เปลือกผ่าน ชื่อ เป็นอาร์กิวเมนต์ที่ศูนย์ถึง
คำสั่งที่ดำเนินการ ถ้า คำสั่ง ไม่สามารถดำเนินการได้ด้วยเหตุผลบางประการ
ออกจากเชลล์แบบโต้ตอบ เว้นแต่ว่า สำเร็จ เปิดใช้งานตัวเลือกเชลล์ ในนั้น
กรณีส่งคืนความล้มเหลว เชลล์แบบโต้ตอบส่งคืนความล้มเหลวหากไฟล์ไม่สามารถ
ถูกประหารชีวิต ถ้า คำสั่ง ไม่ได้ระบุไว้ การเปลี่ยนเส้นทางใด ๆ จะมีผลใน
เชลล์ปัจจุบันและสถานะการส่งคืนคือ 0 หากมีข้อผิดพลาดในการเปลี่ยนเส้นทาง
สถานะการส่งคืนคือ 1

ทางออก [n]
ทำให้เชลล์ออกด้วยสถานะ n. ถ้า n ถูกละไว้ สถานะการออกคือ
ของคำสั่งสุดท้ายที่ดำเนินการ กับดักบน EXIT ถูกประหารชีวิตก่อนเปลือก
ยุติ

ส่งออก [-ฉ] [ชื่อ[=word-
ส่งออก -p
ที่ให้มา ชื่อ ถูกทำเครื่องหมายสำหรับการส่งออกโดยอัตโนมัติไปยังสภาพแวดล้อมของ
คำสั่งดำเนินการในภายหลัง ถ้า -f มีตัวเลือกให้ ชื่อ อ้างถึง
ฟังก์ชั่น. ถ้าไม่ ชื่อ จะได้รับหรือถ้า -p มีตัวเลือกให้ รายชื่อ
ของตัวแปรที่ส่งออกทั้งหมดจะถูกพิมพ์ ดิ -n ตัวเลือกทำให้คุณสมบัติการส่งออกเป็น
ถูกลบออกจากกัน ชื่อ. หากชื่อตัวแปรตามด้วย =word, คุณค่าของ
ตัวแปรถูกตั้งค่าเป็น word. ส่งออก ส่งคืนสถานะการออกเป็น 0 เว้นแต่ว่าไม่ถูกต้อง
พบตัวเลือกหนึ่งใน ชื่อ ไม่ใช่ชื่อตัวแปรเชลล์ที่ถูกต้อง หรือ -f
มาพร้อมกับ a ชื่อ นั่นไม่ใช่ฟังก์ชัน

fc [-e เคลือบฟัน] [-lnr] [เป็นครั้งแรก] [ล่าสุด]
fc -s [ลูบ=ตัวแทน] [cmd]
รูปแบบแรกเลือกช่วงของคำสั่งจาก เป็นครั้งแรก ไปยัง ล่าสุด จากรายการประวัติศาสตร์
และแสดงหรือแก้ไขและดำเนินการใหม่ ชื่อจริง และ ล่าสุด อาจระบุเป็น
string (เพื่อค้นหาคำสั่งสุดท้ายที่ขึ้นต้นด้วยสตริงนั้น) หรือเป็นตัวเลข (an
ดัชนีลงในรายการประวัติซึ่งใช้จำนวนลบเป็นตัวชดเชยจาก
หมายเลขคำสั่งปัจจุบัน) ถ้า ล่าสุด ไม่ได้ระบุไว้มันถูกตั้งค่าเป็นคำสั่งปัจจุบัน
สำหรับการแสดงรายการ (เพื่อให้ ``fc -l -10'' พิมพ์คำสั่ง 10 คำสั่งสุดท้าย) และ to เป็นครั้งแรก
มิฉะนั้น. ถ้า เป็นครั้งแรก ไม่ได้ระบุไว้ มันถูกตั้งค่าเป็นคำสั่งก่อนหน้าสำหรับการแก้ไข
และ -16 สำหรับรายการ

พื้นที่ -n ตัวเลือกระงับหมายเลขคำสั่งเมื่อแสดงรายการ ดิ -r ตัวเลือกกลับด้าน
ลำดับของคำสั่ง ถ้า -l มีตัวเลือก คำสั่งแสดงอยู่บน
เอาต์พุตมาตรฐาน มิฉะนั้น บรรณาธิการให้โดย เคลือบฟัน ถูกเรียกใช้ในไฟล์
ที่มีคำสั่งเหล่านั้น ถ้า เคลือบฟัน ไม่ได้ให้ค่าของ เอฟซีดิท ตัวแปร
ถูกนำมาใช้และค่าของ บรรณาธิการ if เอฟซีดิท ไม่ได้ตั้งค่า หากไม่มีการตั้งค่าตัวแปรใดๆ
vi ถูกนำมาใช้. เมื่อการแก้ไขเสร็จสิ้น คำสั่งที่แก้ไขจะถูกสะท้อนและดำเนินการ

ในรูปแบบที่สอง คำสั่ง ถูกดำเนินการอีกครั้งหลังจากแต่ละอินสแตนซ์ของ ลูบ ถูกแทนที่
by ตัวแทน. คำสั่ง ถูกตีความเหมือนกับ เป็นครั้งแรก ข้างต้น. นามแฝงที่มีประโยชน์ที่จะใช้กับ
นี่คือ ``r="fc -s"'' เพื่อให้การพิมพ์ ``r cc'' รันคำสั่งสุดท้ายที่ขึ้นต้นด้วย
``cc'' และพิมพ์ ``r'' จะดำเนินการคำสั่งสุดท้ายอีกครั้ง

หากใช้รูปแบบแรก ค่าส่งกลับเป็น 0 เว้นแต่ตัวเลือกที่ไม่ถูกต้องคือ
พบหรือ เป็นครั้งแรก or ล่าสุด ระบุบรรทัดประวัติที่อยู่นอกช่วง ถ้า -e ตัวเลือก
ถูกระบุ ค่าที่ส่งคืนคือค่าของคำสั่งสุดท้ายที่ดำเนินการหรือล้มเหลว
หากเกิดข้อผิดพลาดกับไฟล์คำสั่งชั่วคราว ถ้ารูปแบบที่สองคือ
ใช้สถานะการส่งคืนคือคำสั่งที่ดำเนินการใหม่เว้นแต่ cmd ไม่
ระบุบรรทัดประวัติที่ถูกต้อง ซึ่งในกรณีนี้ fc ส่งคืนความล้มเหลว

fg [รายละเอียดงาน]
เรซูเม่ รายละเอียดงาน ในเบื้องหน้าและทำให้เป็นงานปัจจุบัน ถ้า รายละเอียดงาน ไม่ใช่
ปัจจุบัน แนวคิดของเปลือกของ ปัจจุบัน งาน ถูกนำมาใช้. ผลตอบแทนที่ได้คือ
ของคำสั่งที่วางอยู่เบื้องหน้า หรือล้มเหลวหากรันเมื่อ job control is
ปิดใช้งานหรือเมื่อเปิดใช้งานการควบคุมงาน if รายละเอียดงาน ไม่ได้ระบุ valid
งานหรือ รายละเอียดงาน ระบุงานที่เริ่มต้นโดยไม่มีการควบคุมงาน

รับ เลือกสตริง ชื่อ [args]
รับ ถูกใช้โดยโพรซีเดอร์เชลล์เพื่อแยกวิเคราะห์พารามิเตอร์ตำแหน่ง เลือกสตริง
มีอักขระตัวเลือกที่จะรู้จัก ถ้าอักขระตามด้วย a
โคลอน ตัวเลือกคาดว่าจะมีอาร์กิวเมนต์ซึ่งควรแยกออกจาก
ด้วยช่องว่างสีขาว อักขระทวิภาคและเครื่องหมายคำถามไม่สามารถใช้เป็น
อักขระตัวเลือก ทุกครั้งที่มีการเรียกใช้ รับ วางตัวเลือกถัดไปใน
ตัวแปรเชลล์ ชื่อ, กำลังเริ่มต้น ชื่อ หากไม่มีอยู่และดัชนีของ
อาร์กิวเมนต์ถัดไปที่จะประมวลผลเป็นตัวแปร เลือก. เลือก เริ่มต้นเป็น1
ทุกครั้งที่มีการเรียกใช้เชลล์หรือเชลล์สคริปต์ เมื่อตัวเลือกต้องการ an
การโต้แย้ง, รับ วางอาร์กิวเมนต์นั้นลงในตัวแปร ออพทาร์ก. เปลือกไม่
ไม่รีเซ็ต เลือก โดยอัตโนมัติ; ต้องรีเซ็ตด้วยตนเองระหว่างการโทรหลายครั้งถึง
รับ ภายในการเรียกใช้เชลล์เดียวกัน หากต้องใช้พารามิเตอร์ชุดใหม่

เมื่อพบจุดสิ้นสุดของตัวเลือก รับ ออกโดยมีค่าส่งคืนมากกว่า
กว่าศูนย์ เลือก ถูกกำหนดเป็นดัชนีของอาร์กิวเมนต์แรกที่ไม่ใช่ตัวเลือกและ ชื่อ
ถูกตั้งค่าเป็น ?.

รับ ปกติจะแยกวิเคราะห์พารามิเตอร์ตำแหน่ง แต่ถ้าให้อาร์กิวเมนต์เพิ่มเติม
in args, รับ แยกวิเคราะห์เหล่านั้นแทน

รับ สามารถรายงานข้อผิดพลาดได้สองวิธี ถ้าอักษรตัวแรกของ เลือกสตริง คือ
ลำไส้ใหญ่ เงียบ ใช้การรายงานข้อผิดพลาด ในการทำงานปกติ ข้อความวินิจฉัย
จะถูกพิมพ์เมื่อพบตัวเลือกที่ไม่ถูกต้องหรืออาร์กิวเมนต์ตัวเลือกที่ขาดหายไป ถ้า
ตัวแปร ออปเตอร์ ถูกตั้งค่าเป็น 0 จะไม่มีข้อความแสดงข้อผิดพลาดปรากฏขึ้น แม้ว่า
อักขระตัวแรกของ เลือกสตริง ไม่ใช่ลำไส้ใหญ่

หากเห็นตัวเลือกที่ไม่ถูกต้อง รับ สถานที่ ? เข้าไปข้างใน ชื่อ และถ้าไม่เงียบก็พิมพ์
ข้อความแสดงข้อผิดพลาดและ unsets ออพทาร์ก. ถ้า รับ เงียบตัวเลือกอักขระ
พบอยู่ใน ออพทาร์ก และไม่มีการพิมพ์ข้อความวินิจฉัย

หากไม่พบอาร์กิวเมนต์ที่ต้องการและ รับ ไม่เงียบ เครื่องหมายคำถาม (?)
วางอยู่ใน ชื่อ, ออพทาร์ก ไม่ได้ตั้งค่า และมีการพิมพ์ข้อความวินิจฉัย ถ้า
รับ เงียบแล้วโคลอน (:) อยู่ใน ชื่อ และ ออพทาร์ก ถูกกำหนดให้เป็น
พบอักขระตัวเลือก

รับ คืนค่า จริง หากพบตัวเลือก ระบุหรือไม่ระบุ มันกลับมา
false หากพบจุดสิ้นสุดของตัวเลือกหรือเกิดข้อผิดพลาด

กัญชา [-ล] [-p ชื่อไฟล์] [-dt] [ชื่อ]
แต่ละครั้ง กัญชา ถูกเรียกชื่อพาธแบบเต็มของคำสั่ง ชื่อ ถูกกำหนดโดย
ค้นหาไดเร็กทอรีใน $ PATH และจำได้ ใด ๆ ที่จำได้ก่อนหน้านี้
ชื่อพาธถูกยกเลิก ถ้า -p มีการระบุตัวเลือก ไม่มีการค้นหาเส้นทาง
และ ชื่อไฟล์ ใช้เป็นชื่อไฟล์เต็มของคำสั่ง ดิ -r ตัวเลือกทำให้เกิด
เชลล์เพื่อลืมตำแหน่งที่จำได้ทั้งหมด ดิ -d ตัวเลือกทำให้เปลือกลืม
สถานที่ที่จำได้ของแต่ละคน ชื่อ. หาก -t มีตัวเลือกให้เต็ม
ชื่อเส้นทางที่แต่ละ ชื่อ พิมพ์ที่สอดคล้องกัน ถ้าหลาย ชื่อ อาร์กิวเมนต์คือ
มาพร้อมกับ -tที่ ชื่อ ถูกพิมพ์ก่อนชื่อพาธแบบเต็มที่แฮช ดิ -l
ตัวเลือกทำให้เอาต์พุตแสดงในรูปแบบที่อาจนำมาใช้ใหม่เป็นอินพุต ถ้า
ไม่มีอาร์กิวเมนต์ให้หรือถ้าเพียง -l มีให้ข้อมูลเกี่ยวกับการจดจำ
คำสั่งถูกพิมพ์ สถานะการส่งคืนเป็นจริงเว้นแต่ a ชื่อ ไม่พบหรือ
มีการระบุตัวเลือกที่ไม่ถูกต้อง

ช่วย [-dms] [Belt hold ]
แสดงข้อมูลที่เป็นประโยชน์เกี่ยวกับคำสั่งในตัว ถ้า Belt hold ระบุไว้ ช่วย
ให้ความช่วยเหลือโดยละเอียดเกี่ยวกับการจับคู่คำสั่งทั้งหมด Belt hold ; มิฉะนั้นช่วยสำหรับ .ทั้งหมด
บิลด์อินและโครงสร้างการควบคุมเชลล์ถูกพิมพ์ออกมา
-d แสดงคำอธิบายสั้น ๆ ของแต่ละ Belt hold
-m แสดงคำอธิบายของแต่ละ Belt hold ในรูปแบบ manpage-like
-s แสดงเฉพาะบทสรุปการใช้งานสั้นๆ สำหรับแต่ละรายการ Belt hold

สถานะการส่งคืนคือ 0 เว้นแต่ไม่มีคำสั่งที่ตรงกัน Belt hold .

ประวัติ [n]
ประวัติ -c
ประวัติ -d ชดเชย
ประวัติ -anrw [ชื่อไฟล์]
ประวัติ -p หาเรื่อง [หาเรื่อง ...]
ประวัติ -s หาเรื่อง [หาเรื่อง ...]
หากไม่มีตัวเลือก ให้แสดงรายการประวัติคำสั่งพร้อมหมายเลขบรรทัด รายการสาย
กับ * ได้รับการแก้ไขแล้ว ข้อโต้แย้งของ n รายการสุดท้ายเท่านั้น n เส้น ถ้า
ตัวแปรเชลล์ HIST TIME FORMAT ถูกตั้งค่าและไม่เป็นโมฆะ มันถูกใช้เป็นสตริงรูปแบบ
for สตริฟไทม์(3) เพื่อแสดงการประทับเวลาที่เกี่ยวข้องกับแต่ละประวัติที่แสดง
รายการ. ไม่มีการพิมพ์ช่องว่างระหว่างการประทับเวลาที่จัดรูปแบบและ
สายประวัติศาสตร์ ถ้า ชื่อไฟล์ ถูกจัดให้ มันถูกใช้เป็นชื่อของไฟล์ประวัติ
ถ้าไม่เช่นนั้นค่าของ ฮิสไฟล์ ถูกนำมาใช้. มีตัวเลือกดังต่อไปนี้
ความหมาย:
-c ล้างรายการประวัติโดยลบรายการทั้งหมด
-d ชดเชย
ลบรายการประวัติที่ตำแหน่ง ชดเชย.
-a ต่อท้ายบรรทัดประวัติ ``ใหม่'' (บรรทัดประวัติที่ป้อนตั้งแต่ต้น
ของปัจจุบัน ทุบตี เซสชัน) ไปยังไฟล์ประวัติ
-n อ่านบรรทัดประวัติที่ยังไม่ได้อ่านจากไฟล์ประวัติลงใน
รายการประวัติปัจจุบัน เหล่านี้เป็นบรรทัดต่อท้ายไฟล์ประวัติตั้งแต่
จุดเริ่มต้นของปัจจุบัน ทุบตี เซสชั่น
-r อ่านเนื้อหาของไฟล์ประวัติและผนวกเข้ากับประวัติปัจจุบัน
รายการ.
-w เขียนรายการประวัติปัจจุบันลงในไฟล์ประวัติ, เขียนทับประวัติ
เนื้อหาของไฟล์.
-p ทำการทดแทนประวัติดังต่อไปนี้ args และแสดงผลบน
เอาต์พุตมาตรฐาน ไม่เก็บผลลัพธ์ในรายการประวัติ แต่ละ
หาเรื่อง ต้องเสนอราคาเพื่อปิดการขยายประวัติปกติ
-s เก็บ Store args ในรายการประวัติเป็นรายการเดียว คำสั่งสุดท้ายใน
รายการประวัติจะถูกลบออกก่อน args ถูกเพิ่ม

ถ้า HIST TIME FORMAT มีการตั้งค่าตัวแปรข้อมูลประทับเวลาที่เกี่ยวข้องกับ
แต่ละรายการประวัติจะถูกเขียนลงในไฟล์ประวัติซึ่งมีเครื่องหมายความคิดเห็นเกี่ยวกับประวัติ
อักขระ. เมื่ออ่านไฟล์ประวัติแล้ว บรรทัดที่ขึ้นต้นด้วยความคิดเห็นเกี่ยวกับประวัติ
อักขระที่ตามด้วยตัวเลขทันทีจะถูกตีความว่าเป็นการประทับเวลาสำหรับ
บรรทัดประวัติศาสตร์ก่อนหน้า ค่าที่ส่งคืนคือ 0 เว้นแต่ตัวเลือกที่ไม่ถูกต้องคือ
พบ เกิดข้อผิดพลาดขณะอ่านหรือเขียนไฟล์ประวัติ เป็นไฟล์ที่ไม่ถูกต้อง
ชดเชย ถูกจัดให้เป็นข้อโต้แย้งของ -d, หรือการขยายประวัติศาสตร์ที่จัดให้เป็น an
อาร์กิวเมนต์ถึง -p ล้มเหลว

ตำแหน่งงาน [-lnprs] [ รายละเอียดงาน -
ตำแหน่งงาน -x คำสั่ง [ args -
แบบฟอร์มแรกแสดงรายการงานที่ใช้งานอยู่ ตัวเลือกมีความหมายดังต่อไปนี้:
-l แสดงรายการ ID กระบวนการเพิ่มเติมจากข้อมูลปกติ
-n แสดงข้อมูลเฉพาะงานที่เปลี่ยนสถานะตั้งแต่ผู้ใช้
ได้รับแจ้งสถานะล่าสุด
-p แสดงรายการเฉพาะ ID กระบวนการของหัวหน้ากลุ่มกระบวนการของงาน
-r แสดงเฉพาะงานที่กำลังทำงานอยู่
-s แสดงเฉพาะงานที่หยุด

If รายละเอียดงาน ได้รับ การส่งออกถูกจำกัดให้ข้อมูลเกี่ยวกับงานนั้น ดิ
สถานะการส่งคืนเป็น 0 เว้นแต่จะพบตัวเลือกที่ไม่ถูกต้องหรือไม่ถูกต้อง รายละเอียดงาน is
ที่จัดมา

ถ้า -x มีตัวเลือกให้ ตำแหน่งงาน แทนที่ใดๆ รายละเอียดงาน พบใน คำสั่ง or args
ด้วย ID กลุ่มกระบวนการที่เกี่ยวข้อง และดำเนินการ คำสั่ง ผ่านมัน args,
ส่งคืนสถานะการออก

ฆ่า [-s ซิกสเปค | -n สัญญาณ | -ซิกสเปค] [pid | รายละเอียดงาน-
ฆ่า -l [ซิกสเปค | exit_status]
ส่งสัญญาณชื่อโดย ซิกสเปค or สัญญาณ สู่กระบวนการที่ตั้งชื่อโดย pid or
รายละเอียดงาน. ซิกสเปค เป็นชื่อสัญญาณที่ไม่คำนึงถึงขนาดตัวพิมพ์ เช่น ซิกกิล (ด้วยหรือ
ปราศจาก ซิก คำนำหน้า) หรือหมายเลขสัญญาณ สัญญาณ เป็นหมายเลขสัญญาณ ถ้า ซิกสเปค
ไม่อยู่แล้ว ซิกเทอร์ม จะถือว่า ข้อโต้แย้งของ -l แสดงรายการชื่อสัญญาณ
หากมีการระบุข้อโต้แย้งเมื่อ -l จะได้รับชื่อของสัญญาณ
ที่สอดคล้องกับอาร์กิวเมนต์จะแสดงรายการ และสถานะการส่งคืนคือ 0 The
exit_status อาร์กิวเมนต์ถึง -l เป็นตัวเลขที่ระบุหมายเลขสัญญาณหรือ
สถานะการออกของกระบวนการสิ้นสุดลงโดยสัญญาณ ฆ่า คืนค่า true ถ้าอย่างน้อยหนึ่ง
ส่งสัญญาณสำเร็จ หรือเป็นเท็จ หากเกิดข้อผิดพลาดหรือตัวเลือกที่ไม่ถูกต้องคือ
ได้พบเจอ

ให้ หาเรื่อง [หาเรื่อง ... ]
แต่ละ หาเรื่อง เป็นนิพจน์เลขคณิตที่จะประเมิน (ดู เลขคณิต การประเมินผล
ข้างต้น). ถ้าสุดท้าย หาเรื่อง ประเมินเป็น 0 ให้ ส่งคืน 1; 0 จะถูกส่งคืนเป็นอย่างอื่น

ในประเทศ [ตัวเลือก] [ชื่อ[=ความคุ้มค่า-
สำหรับแต่ละอาร์กิวเมนต์ ตัวแปรโลคัลชื่อ ชื่อ ถูกสร้างและมอบหมายให้ ความคุ้มค่า.
ตัวเลือก สามารถเป็นตัวเลือกใด ๆ ที่ยอมรับโดย ประกาศ. เมื่อ ในประเทศ ใช้ภายใน a
ทำหน้าที่ทำให้เกิดตัวแปร ชื่อ ให้มีขอบเขตที่มองเห็นได้จำกัดอยู่เพียงนั้น
ฟังก์ชั่นและลูกของมัน โดยไม่มีตัวถูกดำเนินการ ในประเทศ เขียนรายการท้องถิ่น
ตัวแปรไปยังเอาต์พุตมาตรฐาน เป็นความผิดพลาดในการใช้ ในประเทศ เมื่อไม่อยู่ในa
การทำงาน. สถานะการส่งคืนคือ 0 เว้นแต่ ในประเทศ ใช้นอกฟังก์ชัน an
โมฆะ ชื่อ มีให้หรือ ชื่อ เป็นตัวแปรแบบอ่านอย่างเดียว

ออกจากระบบ ออกจากเปลือกเข้าสู่ระบบ

ไฟล์แผนที่ [-n นับ] [-O ที่มา] [-s นับ] [-t] [-u fd] [-C โทรกลับ] [-c ควอนตัม] [แถว]
อ่าน [-n นับ] [-O ที่มา] [-s นับ] [-t] [-u fd] [-C โทรกลับ] [-c ควอนตัม]
[แถว]
อ่านบรรทัดจากอินพุตมาตรฐานไปยังตัวแปรอาร์เรย์ที่จัดทำดัชนี แถวหรือจาก
ตัวอธิบายไฟล์ fd ถ้า -u มีตัวเลือกให้ ตัวแปร แมปไฟล์ คือ
ผิดนัด แถว. ตัวเลือก หากมีให้ มีความหมายดังต่อไปนี้:
-n คัดลอกมากที่สุด นับ เส้น ถ้า นับ คือ 0 ทุกบรรทัดจะถูกคัดลอก
-O เริ่มมอบหมายให้ แถว ที่ดัชนี ที่มา. ดัชนีเริ่มต้นคือ 0
-s ทิ้งก่อน นับ อ่านบรรทัด
-t ลบบรรทัดใหม่ต่อท้ายจากการอ่านแต่ละบรรทัด
-u อ่านบรรทัดจาก file descriptor fd แทนอินพุตมาตรฐาน
-C ประเมินค่า โทรกลับ แต่ละครั้ง ควอนตัม มีการอ่านบรรทัด ดิ -c ตัวเลือกระบุ
ควอนตัม.
-c ระบุจำนวนบรรทัดที่อ่านระหว่างการโทรแต่ละครั้งไปยัง โทรกลับ.

If -C ถูกระบุโดยไม่มี -cควอนตัมเริ่มต้นคือ 5000 เมื่อ โทรกลับ is
ประเมินแล้วจะได้รับดัชนีขององค์ประกอบอาร์เรย์ถัดไปที่จะกำหนดและ
บรรทัดที่จะกำหนดให้กับองค์ประกอบนั้นเป็นอาร์กิวเมนต์เพิ่มเติม โทรกลับ is
ประเมินหลังจากอ่านบรรทัด แต่ก่อนที่จะกำหนดองค์ประกอบอาร์เรย์

หากไม่มีแหล่งกำเนิดที่ชัดเจน ไฟล์แผนที่ จะเคลียร์ แถว ก่อนมอบหมาย
เพื่อมัน

ไฟล์แผนที่ ส่งคืนได้สำเร็จเว้นแต่ตัวเลือกที่ไม่ถูกต้องหรืออาร์กิวเมนต์ของตัวเลือกคือ
จัดหา แถว ไม่ถูกต้องหรือไม่สามารถมอบหมายได้หรือถ้า แถว ไม่ใช่อาร์เรย์ที่จัดทำดัชนี

popd [-n-n-n]
ลบรายการออกจากไดเร็กทอรีสแต็ก ไม่มีอาร์กิวเมนต์ เอาด้านบน
ไดเร็กทอรีจากสแต็กและดำเนินการ a cd ไปยังไดเร็กทอรีบนสุดใหม่ อาร์กิวเมนต์
ถ้าให้มา มีความหมายดังนี้
-n ระงับการเปลี่ยนแปลงปกติของไดเร็กทอรีเมื่อลบไดเร็กทอรีออกจาก
stack เพื่อให้จัดการเฉพาะ stack เท่านั้น
+n ลบ nรายการที่นับจากด้านซ้ายของรายการที่แสดงโดย dirs,
เริ่มจากศูนย์ ตัวอย่างเช่น: ``popd +0'' ลบไดเร็กทอรีแรก
``ป๊อป +1'' วินาที
-n ลบ nรายการที่นับจากด้านขวาของรายการที่แสดงโดย dirs,
เริ่มจากศูนย์ ตัวอย่างเช่น: ``popd -0'' ลบไดเร็กทอรีสุดท้าย
``popd -1'' ถัดจากสุดท้าย

ถ้า popd คำสั่งสำเร็จ a dirs ก็ทำได้เช่นกัน และการกลับมา
สถานะเป็น 0 popd คืนค่า false หากพบตัวเลือกที่ไม่ถูกต้อง directory
สแต็กว่างเปล่า มีการระบุรายการสแต็กไดเร็กทอรีที่ไม่มีอยู่ หรือไดเร็กทอรี
การเปลี่ยนแปลงล้มเหลว

printf [-v คือ] รูป [ข้อโต้แย้ง]
เขียนรูปแบบ ข้อโต้แย้ง สู่เอาต์พุตมาตรฐานภายใต้การควบคุมของ
รูป. -v option ทำให้เอาต์พุตถูกกำหนดให้กับตัวแปร คือ ค่อนข้าง
กว่าจะพิมพ์ออกมาเป็นมาตรฐาน

พื้นที่ รูป เป็นสตริงอักขระที่มีวัตถุสามประเภท: ธรรมดา
อักขระ ซึ่งถูกคัดลอกไปยังเอาต์พุตมาตรฐาน ลำดับหลีกอักขระ
ซึ่งถูกแปลงและคัดลอกไปยังเอาต์พุตมาตรฐานและข้อกำหนดรูปแบบ
ซึ่งแต่ละอันทำให้เกิดการพิมพ์ต่อเนื่องกัน อาร์กิวเมนต์. นอกจากนี้แล้ว
มาตรฐาน printf(1) ข้อกำหนดรูปแบบ printf ตีความดังต่อไปนี้
นามสกุล:
%b สาเหตุที่ printf เพื่อขยายแบ็กสแลชเอสเคปซีเควนซ์ในที่สอดคล้องกัน
อาร์กิวเมนต์ (ยกเว้นว่า \c ยุติเอาต์พุต แบ็กสแลชใน \', \"และ \?
ไม่ถูกลบออก และเลขฐานแปดหนีที่ขึ้นต้นด้วย \0 อาจมีมากถึงสี่
ตัวเลข)
%q สาเหตุที่ printf เพื่อส่งออกที่สอดคล้องกัน อาร์กิวเมนต์ ในรูปแบบที่สามารถ
นำมาใช้ใหม่เป็นอินพุตเชลล์
%(วันที่)T
สาเหตุที่ printf เพื่อส่งออกสตริงวันที่-เวลาที่เกิดจากการใช้ วันที่ as
สตริงรูปแบบสำหรับ สตริฟไทม์(3). ที่สอดคล้องกัน อาร์กิวเมนต์ เป็นจำนวนเต็ม
แสดงถึงจำนวนวินาทีนับตั้งแต่ยุค สองอาร์กิวเมนต์พิเศษ
ค่าที่ใช้ได้: -1 แทนเวลาปัจจุบัน และ -2 แทนค่า
เวลาที่เปลือกถูกเรียก หากไม่มีการระบุอาร์กิวเมนต์ การแปลงจะทำงาน
ราวกับว่า -1 ได้รับ นี่เป็นข้อยกเว้นจากปกติ printf พฤติกรรม

อาร์กิวเมนต์ของตัวระบุรูปแบบที่ไม่ใช่สตริงถือเป็นค่าคงที่ C ยกเว้นว่า a
อนุญาตให้ใช้เครื่องหมายบวกหรือลบนำหน้าได้ และหากตัวนำเป็นอักขระเดียวหรือ
เครื่องหมายคำพูดคู่ ค่าคือค่า ASCII ของอักขระต่อไปนี้

พื้นที่ รูป นำกลับมาใช้ใหม่เท่าที่จำเป็นเพื่อบริโภคทั้งหมด ข้อโต้แย้ง. หาก รูป
ต้องการมากขึ้น ข้อโต้แย้ง กว่าที่ให้มา ข้อมูลจำเพาะรูปแบบพิเศษมีลักษณะการทำงาน
ราวกับว่ามีการระบุค่าศูนย์หรือสตริงว่างตามความเหมาะสม การกลับมา
ค่าเป็นศูนย์สำหรับความสำเร็จ ไม่ใช่ศูนย์สำหรับความล้มเหลว

pushd [-n-n-n]
pushd [-n] [dir]
เพิ่มไดเร็กทอรีที่ด้านบนของไดเร็กทอรีสแต็กหรือหมุนสแต็กทำให้
ด้านบนของสแต็กไดเร็กทอรีการทำงานปัจจุบัน โดยไม่มีข้อโต้แย้ง
แลกเปลี่ยนไดเร็กทอรีสองอันดับแรกและส่งกลับ 0 เว้นแต่ไดเร็กทอรีสแต็กคือ
ว่างเปล่า. อาร์กิวเมนต์ หากมีให้ มีความหมายดังต่อไปนี้:
-n ระงับการเปลี่ยนแปลงปกติของไดเร็กทอรีเมื่อเพิ่มไดเร็กทอรีไปยัง the
stack เพื่อให้จัดการเฉพาะ stack เท่านั้น
+n หมุนสแต็กเพื่อให้ nไดเร็กทอรี th (นับจากด้านซ้ายของ
รายการที่แสดงโดย dirsโดยเริ่มจากศูนย์) อยู่ที่ด้านบนสุด
-n หมุนสแต็กเพื่อให้ nth ไดเร็กทอรี (นับจากด้านขวาของ
รายการที่แสดงโดย dirsโดยเริ่มจากศูนย์) อยู่ที่ด้านบนสุด
dir เพิ่ม dir ไปยังไดเร็กทอรีสแต็กที่ด้านบน ทำให้เป็นไดเร็กทอรีใหม่ current
ไดเร็กทอรีการทำงานราวกับว่ามันถูกระบุเป็นอาร์กิวเมนต์ของ cd
สร้างขึ้น

ถ้า pushd คำสั่งสำเร็จ a dirs จะดำเนินการเช่นกัน ถ้ารูปแบบแรก
ถูกนำมาใช้, pushd คืนค่า 0 เว้นแต่ cd ถึง dir ล้มเหลว ด้วยรูปแบบที่สอง pushd
คืนค่า 0 เว้นแต่ไดเร็กทอรีสแต็กจะว่างเปล่า ไดเร็กทอรี stack . ที่ไม่มีอยู่จริง
มีการระบุองค์ประกอบหรือไดเร็กทอรีเปลี่ยนเป็นกระแสใหม่ที่ระบุ
ไดเรกทอรีล้มเหลว

รหัสผ่าน [-หจก]
พิมพ์ชื่อพาธสัมบูรณ์ของไดเร็กทอรีการทำงานปัจจุบัน พิมพ์ชื่อเส้นทาง
ไม่มีลิงก์สัญลักษณ์หาก -P มีตัวเลือกให้หรือ -o กายภาพ ตัวเลือก
ไป ชุด คำสั่งในตัวถูกเปิดใช้งาน ถ้า -L ใช้ตัวเลือกชื่อพา ธ
พิมพ์อาจมีลิงก์สัญลักษณ์ สถานะการส่งคืนคือ 0 เว้นแต่จะมีข้อผิดพลาดเกิดขึ้น
ขณะอ่านชื่อของไดเร็กทอรีปัจจุบันหรือตัวเลือกที่ไม่ถูกต้อง

อ่าน [-เอ่อ] [-a ชื่อ] [-d เดลิม] [-i ข้อความ] [-n ชาร์] [-N ชาร์] [-p รวดเร็ว] [-t
การหยุดพักชั่วคราว] [-u fd] [ชื่อ ... ]
อ่านหนึ่งบรรทัดจากอินพุตมาตรฐานหรือจากไฟล์ descriptor fd ที่จัดมา
เป็นข้อโต้แย้งของ -u ตัวเลือกและคำแรกถูกกำหนดให้กับ first ชื่อ,
คำที่สองเป็นคำที่สอง ชื่อและอื่นๆ ด้วยคำที่เหลือและ
ตัวคั่นระหว่างกันที่ได้รับมอบหมายให้เป็นคนสุดท้าย ชื่อ. หากมีคำอ่านน้อยลง
จากกระแสอินพุตมากกว่าชื่อ ชื่อที่เหลือจะถูกกำหนดค่าว่าง
ตัวละครใน ไอเอฟเอ ใช้ในการแยกบรรทัดเป็นคำโดยใช้กฎเดียวกัน
เปลือกใช้สำหรับการขยาย (อธิบายไว้ข้างต้นภายใต้ คำ รุนแรง). แบ็กสแลช
อักขระ (\) อาจใช้เพื่อลบความหมายพิเศษใด ๆ สำหรับการอ่านอักขระตัวถัดไป
และเพื่อความต่อเนื่องของสาย ตัวเลือก หากมีให้ มีความหมายดังต่อไปนี้:
-a ชื่อ
คำถูกกำหนดให้กับดัชนีต่อเนื่องของตัวแปรอาร์เรย์ ชื่อ,
เริ่มต้นที่ 0 ชื่อ ไม่ได้ตั้งค่าก่อนที่จะกำหนดค่าใหม่ใดๆ อื่น
ชื่อ อาร์กิวเมนต์จะถูกละเว้น
-d เดลิม
อักขระตัวแรกของ เดลิม ใช้เพื่อยุติสายอินพุต ค่อนข้าง
กว่าขึ้นบรรทัดใหม่
-e หากอินพุตมาตรฐานมาจากเทอร์มินัล ReadLine (ดู อ่าน
ด้านบน) ใช้เพื่อรับสาย Readline ใช้ค่าปัจจุบัน (หรือค่าเริ่มต้น
หากก่อนหน้านี้การแก้ไขบรรทัดไม่ได้ใช้งานอยู่) การตั้งค่าการแก้ไข
-i ข้อความ
If ReadLine ถูกใช้เพื่ออ่านบรรทัด ข้อความ ถูกวางไว้ในการแก้ไข
บัฟเฟอร์ก่อนเริ่มการแก้ไข
-n ชาร์
อ่าน กลับมาอ่านแล้ว ชาร์ ตัวอักษรแทนที่จะรอ a
ป้อนข้อมูลให้ครบถ้วน แต่ให้เกียรติตัวคั่นหากน้อยกว่า ชาร์
อักขระจะถูกอ่านก่อนตัวคั่น
-N ชาร์
อ่าน กลับมาหลังจากอ่านตรง ๆ ชาร์ ตัวอักษรแทนที่จะรอ
บรรทัดอินพุตที่สมบูรณ์ เว้นแต่พบ EOF หรือ อ่าน หมดเวลา
อักขระตัวคั่นที่พบในอินพุตจะไม่ได้รับการปฏิบัติเป็นพิเศษและ
ไม่ก่อให้เกิด อ่าน กลับมาจนถึง ชาร์ ตัวอักษรจะถูกอ่าน
-p รวดเร็ว
แสดง รวดเร็ว ในข้อผิดพลาดมาตรฐานโดยไม่ต้องขึ้นบรรทัดใหม่ก่อน
พยายามที่จะอ่านข้อมูลใด ๆ พรอมต์จะปรากฏขึ้นก็ต่อเมื่ออินพุตเป็น
มาจากเทอร์มินัล
-r แบ็กสแลชไม่ทำหน้าที่เป็นอักขระหลีก แบ็กสแลชถือเป็น
เพื่อเป็นส่วนหนึ่งของสาย โดยเฉพาะอย่างยิ่ง คู่แบ็กสแลช-ขึ้นบรรทัดใหม่อาจไม่เป็น
ใช้เป็นบรรทัดต่อ
-s โหมดเงียบ หากอินพุตมาจากเทอร์มินัล อักขระจะไม่ถูกสะท้อน
-t การหยุดพักชั่วคราว
ก่อให้เกิด อ่าน เพื่อหมดเวลาและส่งคืนความล้มเหลวหากอินพุตสมบูรณ์ (หรือ a
จำนวนอักขระที่ระบุ) ไม่ได้อ่านภายใน การหยุดพักชั่วคราว วินาที การหยุดพักชั่วคราว
อาจเป็นทศนิยมที่มีเศษส่วนตามหลังทศนิยม
จุด. ตัวเลือกนี้จะมีผลก็ต่อเมื่อ อ่าน กำลังอ่านอินพุตจาก a
เทอร์มินัล ไปป์ หรือไฟล์พิเศษอื่นๆ ไม่มีผลเมื่ออ่านจาก
ไฟล์ปกติ ถ้า อ่าน หมดเวลา, อ่าน บันทึกอินพุตบางส่วนที่อ่านลงใน
ตัวแปรที่กำหนด ชื่อ. ถ้า การหยุดพักชั่วคราว เป็น 0, อ่าน กลับทันที,
โดยไม่ต้องพยายามอ่านข้อมูลใดๆ สถานะการออกคือ 0 หากอินพุตพร้อมใช้งาน
บน file descriptor ที่ระบุ มิฉะนั้นจะไม่ใช่ศูนย์ สถานะทางออกคือ
มากกว่า 128 หากเกินระยะหมดเวลา
-u fd อ่านอินพุตจาก file descriptor fd.

ถ้าไม่ ชื่อ ถูกระบุ การอ่านบรรทัดถูกกำหนดให้กับตัวแปร ตอบ.
รหัสส่งคืนเป็นศูนย์ เว้นแต่จะพบจุดสิ้นสุดของไฟล์ อ่าน หมดเวลา (ซึ่ง
กรณีรหัสส่งคืนมากกว่า 128) ข้อผิดพลาดการกำหนดตัวแปร (เช่น
กำหนดให้กับตัวแปรแบบอ่านอย่างเดียว) เกิดขึ้นหรือมีการระบุไฟล์ที่ไม่ถูกต้อง
เป็นข้อโต้แย้งของ -u.

อ่านเท่านั้น [-aAฟ] [-p] [ชื่อ[=word-
ที่กำหนด ชื่อ ถูกทำเครื่องหมายว่าอ่านอย่างเดียว คุณค่าของสิ่งเหล่านี้ ชื่อ ไม่อาจเปลี่ยนแปลงได้
โดยมอบหมายงานต่อไป ถ้า -f มีตัวเลือกฟังก์ชั่น
ที่สอดคล้องกับ ชื่อ ถูกทำเครื่องหมายไว้ ดิ -a ตัวเลือกจำกัดตัวแปรเพื่อ
อาร์เรย์ที่จัดทำดัชนี ที่ -A ตัวเลือก จำกัด ตัวแปรให้กับอาร์เรย์ที่เชื่อมโยง ถ้า
มีให้ทั้งสองตัวเลือก -A มีความสำคัญ ถ้าไม่ ชื่อ อาร์กิวเมนต์จะได้รับหรือ
ถ้า -p มีการระบุตัวเลือก รายการของชื่อแบบอ่านอย่างเดียวทั้งหมดจะถูกพิมพ์ อื่น ๆ
อาจใช้ตัวเลือกเพื่อจำกัดเอาต์พุตให้เป็นส่วนย่อยของชุดอ่านอย่างเดียว
ชื่อ. NS -p ตัวเลือกทำให้เอาต์พุตแสดงในรูปแบบที่อาจใช้ซ้ำได้
เป็นข้อมูลเข้า หากชื่อตัวแปรตามด้วย =word, ค่าของตัวแปรคือ
ตั้งค่าให้ word. สถานะการส่งคืนคือ 0 เว้นแต่จะพบตัวเลือกที่ไม่ถูกต้อง หนึ่ง
ของ ชื่อ ไม่ใช่ชื่อตัวแปรเชลล์ที่ถูกต้อง หรือ -f มาพร้อมกับ a ชื่อ ที่
ไม่ใช่ฟังก์ชัน

กลับ [n]
ทำให้ฟังก์ชันหยุดดำเนินการและส่งกลับค่าที่ระบุโดย n ด้าน
ผู้โทร ถ้า n ถูกละไว้ สถานะการส่งคืนคือคำสั่งสุดท้ายที่ดำเนินการใน
ฟังก์ชั่นร่างกาย ถ้า กลับ ใช้นอกฟังก์ชัน แต่ระหว่างการดำเนินการของ a
สคริปต์โดย . (แหล่ง) คำสั่งทำให้เชลล์หยุดการทำงานนั้น
สคริปต์และส่งคืนด้วย n หรือสถานะการออกของคำสั่งสุดท้ายที่ดำเนินการภายใน
สคริปต์เป็นสถานะการออกของสคริปต์ ถ้า n ถูกระบุ ค่าที่ส่งคืนคือ
8 บิตที่มีนัยสำคัญน้อยที่สุด สถานะการส่งคืนไม่ใช่ศูนย์ if กลับ จัดให้
อาร์กิวเมนต์ที่ไม่ใช่ตัวเลข หรือใช้นอกฟังก์ชันและไม่ใช่ระหว่างการดำเนินการของa
สคริปต์โดย . or แหล่ง. คำสั่งใด ๆ ที่เกี่ยวข้องกับ กลับ กับดักถูกดำเนินการ
ก่อนที่การดำเนินการจะกลับมาทำงานต่อหลังจากฟังก์ชันหรือสคริปต์

ชุด [--abefhkmnptuvxBCEHPT] [-o ตัวเลือกชื่อ] [หาเรื่อง ... ]
ชุด [+abefhkmnptuvxBCEHPT] [+o ตัวเลือกชื่อ] [หาเรื่อง ... ]
หากไม่มีตัวเลือก ชื่อและค่าของตัวแปรเชลล์แต่ละตัวจะแสดงเป็น a
รูปแบบที่สามารถนำมาใช้ซ้ำได้เป็นอินพุตสำหรับการตั้งค่าหรือรีเซ็ตการตั้งค่าปัจจุบัน
ตัวแปร ตัวแปรแบบอ่านอย่างเดียวไม่สามารถรีเซ็ตได้ ใน POSIX โหมดเฉพาะเชลล์
ตัวแปรถูกระบุไว้ เอาต์พุตจะถูกจัดเรียงตามสถานที่ปัจจุบัน เมื่อไหร่
มีการระบุตัวเลือก ตั้งค่าหรือยกเลิกการตั้งค่าแอตทริบิวต์ของเชลล์ มีข้อโต้แย้งใด ๆ ที่เหลืออยู่
หลังจากการประมวลผลตัวเลือกจะถือว่าเป็นค่าสำหรับพารามิเตอร์ตำแหน่งและ are
ได้รับมอบหมาย, ตามลำดับ, to $1, $2, ... $n. ตัวเลือก หากระบุ มีดังต่อไปนี้
ความหมาย:
-a ทำเครื่องหมายตัวแปรและฟังก์ชันที่แก้ไขหรือสร้างขึ้นโดยอัตโนมัติ
เพื่อส่งออกไปยังสภาพแวดล้อมของคำสั่งที่ตามมา
-b รายงานสถานะของงานเบื้องหลังที่ยุติทันที แทนที่จะรายงาน
ก่อนพรอมต์หลักถัดไป ซึ่งจะมีผลก็ต่อเมื่อการควบคุมงานเป็น
เปิดการใช้งาน
-e ออกทันทีหาก ​​a ท่อ (ซึ่งอาจประกอบด้วย ง่าย
คำสั่ง) รายการหรือ สารประกอบ คำสั่ง (ดู SHELL ไวยากรณ์ ด้านบน) ทางออก
ที่มีสถานะไม่เป็นศูนย์ เชลล์จะไม่ออกหากคำสั่งที่ล้มเหลว
เป็นส่วนหนึ่งของรายการคำสั่งตามหลัง a . ทันที ในขณะที่ or จนกระทั่ง คำสำคัญ,
ส่วนหนึ่งของการทดสอบหลัง if or elif คำสงวน ส่วนหนึ่งส่วนใดของ
คำสั่งดำเนินการใน && or || รายการยกเว้นคำสั่งหลังสุดท้าย
&& or ||, คำสั่งใดๆ ในไพพ์ไลน์ ยกเว้นคำสั่งสุดท้าย, หรือถ้าคำสั่งของ
ค่าที่ส่งคืนจะถูกกลับด้านด้วย !. ถ้าคำสั่งผสมอื่นที่ไม่ใช่ a
เชลล์ย่อยส่งคืนสถานะที่ไม่ใช่ศูนย์เนื่องจากคำสั่งล้มเหลวในขณะที่ -e คือ
ถูกละเว้น เชลล์ไม่ออก กับดักบน ERR, ถ้าตั้งค่า, จะดำเนินการ
ก่อนที่เปลือกจะออกไป ตัวเลือกนี้ใช้กับสภาพแวดล้อมของเชลล์และ
แต่ละสภาพแวดล้อมของ subshell แยกกัน (ดู คำสั่ง การดำเนินการ และพวกเรา
ด้านบน) และอาจทำให้ subshells ออกก่อนที่จะรันคำสั่งทั้งหมด
ในเชลล์ย่อย

หากคำสั่งผสมหรือฟังก์ชันเชลล์ทำงานในบริบทที่ -e is
ถูกละเลยไม่มีคำสั่งใดที่ดำเนินการภายในคำสั่งผสมหรือ
การทำงานของร่างกายจะได้รับผลกระทบจาก -e การตั้งค่า แม้ว่า -e ถูกตั้งค่าและ a
คำสั่งส่งคืนสถานะความล้มเหลว หากเป็นคำสั่งผสมหรือฟังก์ชันเชลล์
ชุด -e ขณะดำเนินการในบริบทที่ -e ถูกละเลย การตั้งค่านั้นจะ
ไม่มีผลใดๆ จนกว่าคำสั่งผสมหรือคำสั่งที่มี
การเรียกใช้ฟังก์ชันเสร็จสมบูรณ์
-f ปิดใช้งานการขยายชื่อพาธ
-h จำตำแหน่งของคำสั่งในขณะที่ค้นหาการดำเนินการ
สิ่งนี้ถูกเปิดใช้งานโดยค่าเริ่มต้น
-k อาร์กิวเมนต์ทั้งหมดในรูปแบบของคำสั่งการมอบหมายจะอยู่ใน
สภาพแวดล้อมสำหรับคำสั่ง ไม่ใช่แค่ที่อยู่ก่อนชื่อคำสั่ง
-m โหมดมอนิเตอร์ เปิดใช้งานการควบคุมงาน ตัวเลือกนี้เปิดอยู่โดยค่าเริ่มต้นสำหรับ
เชลล์แบบโต้ตอบบนระบบที่รองรับ (ดู JOB ควบคุม ข้างต้น). ทั้งหมด
กระบวนการทำงานในกลุ่มกระบวนการแยกต่างหาก เมื่องานเบื้องหลัง
เสร็จสิ้น เชลล์จะพิมพ์บรรทัดที่มีสถานะการออก
-n อ่านคำสั่งแต่ไม่ดำเนินการ สามารถใช้ตรวจสอบเปลือกได้
สคริปต์สำหรับข้อผิดพลาดทางไวยากรณ์ สิ่งนี้ถูกละเว้นโดยเชลล์แบบโต้ตอบ
-o ตัวเลือกชื่อ
พื้นที่ ตัวเลือกชื่อ สามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้:
ส่งออกทั้งหมด
เหมือนกับ -a.
รั้งขยาย
เหมือนกับ -B.
emacs ใช้อินเทอร์เฟซการแก้ไขบรรทัดคำสั่งสไตล์ emacs เปิดใช้งานแล้ว
โดยค่าเริ่มต้นเมื่อเชลล์เป็นแบบโต้ตอบ เว้นแต่ว่าเชลล์เป็น
เริ่มต้นด้วย --ไม่มีการแก้ไข ตัวเลือก. นอกจากนี้ยังส่งผลต่อการแก้ไข
อินเทอร์เฟซที่ใช้สำหรับ อ่าน -e.
ผิดพลาด เหมือนกับ -e.
ผิดพลาด
เหมือนกับ -E.
ฟังก์ชั่น
เหมือนกับ -T.
ฮัสฮอล เหมือนกับ -h.
ขยายประวัติ
เหมือนกับ -H.
ประวัติ เปิดใช้งานประวัติคำสั่งตามที่อธิบายไว้ข้างต้นภายใต้ ประวัติ. นี้
ตัวเลือกเปิดอยู่โดยค่าเริ่มต้นในเชลล์แบบโต้ตอบ
ละเลย
เอฟเฟกต์เหมือนกับว่าคำสั่งเชลล์ ``IGNOREEOF=10'' ได้รับ
ถูกประหารชีวิต (ดู เปลือก ตัวแปร ข้างบน).
คีย์เวิร์ด เหมือนกับ -k.
หน้าจอ เหมือนกับ -m.
โนคลอบเบอร์
เหมือนกับ -C.
noexec เหมือนกับ -n.
โนโกล เหมือนกับ -f.
โนล็อก ปัจจุบันละเลย
แจ้ง เหมือนกับ -b.
คำนาม เหมือนกับ -u.
หนึ่งซม เหมือนกับ -t.
กายภาพ
เหมือนกับ -P.
ท่อล้มเหลว
หากกำหนดไว้ ค่าส่งคืนของไพพ์ไลน์คือค่าของค่าสุดท้าย
(ขวาสุด) คำสั่งเพื่อออกจากสถานะที่ไม่ใช่ศูนย์ หรือศูนย์ถ้าทั้งหมด
คำสั่งในการออกไปป์ไลน์สำเร็จ ตัวเลือกนี้คือ
ปิดใช้งานโดยค่าเริ่มต้น
POSIX เปลี่ยนพฤติกรรมของ ทุบตี ที่การดำเนินการเริ่มต้นแตกต่างกัน
จากมาตรฐาน POSIX ให้ตรงกับมาตรฐาน (POSIX โหมด) ดู
SEE นอกจากนี้ ด้านล่างสำหรับการอ้างอิงถึงเอกสารที่มีรายละเอียดว่า posix
โหมดส่งผลต่อพฤติกรรมของ bash
ได้รับการยกเว้น
เหมือนกับ -p.
ละเอียด เหมือนกับ -v.
vi ใช้อินเทอร์เฟซการแก้ไขบรรทัดคำสั่งสไตล์ vi สิ่งนี้ก็ส่งผลกระทบเช่นกัน
ส่วนต่อประสานการแก้ไขที่ใช้สำหรับ อ่าน -e.
เอ็กซ์เทรซ เหมือนกับ -x.
If -o มาพร้อมกับ no ตัวเลือกชื่อ, ค่าของตัวเลือกปัจจุบัน
ถูกพิมพ์ ถ้า +o มาพร้อมกับ no ตัวเลือกชื่อชุดของ ชุด
คำสั่งเพื่อสร้างการตั้งค่าตัวเลือกปัจจุบันจะแสดงบน
เอาต์พุตมาตรฐาน
-p เปิดสวิตช์ ได้รับการยกเว้น โหมด. ในโหมดนี้ $ENV และ $BASH_ENV ไฟล์คือ
ไม่ได้รับการประมวลผล ฟังก์ชันเชลล์ไม่ได้รับการสืบทอดจากสภาพแวดล้อม และ
หอยเชลล์, บาชอป, CDPATHและ โกลบิกนอร์ ตัวแปรหากปรากฏ
ในสภาพแวดล้อมที่ถูกละเลย หากเปลือกเริ่มต้นด้วย
รหัสผู้ใช้ที่มีประสิทธิภาพ (กลุ่ม) ไม่เท่ากับรหัสผู้ใช้จริง (กลุ่ม) และ -p
ไม่ได้ระบุตัวเลือกการดำเนินการเหล่านี้เกิดขึ้นและ ID ผู้ใช้ที่มีประสิทธิภาพ
ถูกตั้งค่าเป็น ID ผู้ใช้จริง ถ้า -p มีตัวเลือกให้เมื่อเริ่มต้น the
ID ผู้ใช้ที่มีประสิทธิภาพจะไม่ถูกรีเซ็ต การปิดตัวเลือกนี้จะทำให้
ID ผู้ใช้และกลุ่มที่มีประสิทธิภาพเพื่อตั้งค่าเป็นผู้ใช้จริงและรหัสกลุ่ม
-t ออกหลังจากอ่านและดำเนินการคำสั่งเดียว
-u ปฏิบัติต่อตัวแปรและพารามิเตอร์ที่ไม่ได้ตั้งค่าอื่นนอกเหนือจากพารามิเตอร์พิเศษ "@"
และ "*" เป็นข้อผิดพลาดเมื่อทำการขยายพารามิเตอร์ ถ้าการขยายคือ
พยายามกับตัวแปรหรือพารามิเตอร์ที่ไม่ได้ตั้งค่า เชลล์พิมพ์ข้อผิดพลาด
ข้อความ และถ้าไม่มีการโต้ตอบ จะออกโดยมีสถานะไม่เป็นศูนย์
-v พิมพ์บรรทัดอินพุตของเชลล์ในขณะที่อ่าน
-x หลังจากขยายแต่ละ ง่าย คำสั่ง, for สั่งการ, กรณี สั่งการ, เลือก
คำสั่งหรือเลขคณิต for คำสั่งแสดงค่าขยายของ PS4,
ตามด้วยคำสั่งและอาร์กิวเมนต์ที่ขยายหรือรายการคำที่เกี่ยวข้อง
-B เปลือกทำการขยายวงเล็บปีกกา (ดู ทาบ การขยายตัว ข้างต้น). นี้บน
โดยค่าเริ่มต้น
-C หากตั้งไว้ ทุบตี ไม่เขียนทับไฟล์ที่มีอยู่ด้วย the >, >&และ <>
ตัวดำเนินการเปลี่ยนเส้นทาง สิ่งนี้อาจถูกแทนที่เมื่อสร้างไฟล์เอาต์พุต
โดยใช้ตัวดำเนินการเปลี่ยนเส้นทาง >| แทน >.
-E ถ้าตั้งค่า กับดักใด ๆ บน ERR ถูกสืบทอดโดยฟังก์ชันเชลล์ command
การแทนที่ และคำสั่งที่ดำเนินการในสภาพแวดล้อมของเชลล์ย่อย ดิ ERR
กับดักมักจะไม่ได้รับการสืบทอดในกรณีเช่นนี้
-H ทำให้สามารถ ! การแทนที่ประวัติสไตล์ ตัวเลือกนี้จะเปิดใช้งานโดยค่าเริ่มต้นเมื่อ
เชลล์เป็นแบบโต้ตอบ
-P หากตั้งค่าไว้ เชลล์จะไม่แก้ไขลิงก์สัญลักษณ์เมื่อดำเนินการคำสั่ง
เช่น cd ที่เปลี่ยนไดเร็กทอรีการทำงานปัจจุบัน มันใช้กายภาพ
โครงสร้างไดเร็กทอรีแทน โดยค่าเริ่มต้น, ทุบตี ตามห่วงโซ่ตรรกะของ
ไดเร็กทอรีเมื่อดำเนินการคำสั่งที่เปลี่ยนไดเร็กทอรีปัจจุบัน
-T ถ้าตั้งกับดักใด ๆ บน แก้ปัญหา และ กลับ สืบทอดมาจากฟังก์ชันของเชลล์
การแทนที่คำสั่ง และคำสั่งที่ดำเนินการในสภาพแวดล้อมของเชลล์ย่อย
พื้นที่ แก้ปัญหา และ กลับ กับดักมักจะไม่ได้รับการสืบทอดในกรณีเช่นนี้
-- หากไม่มีอาร์กิวเมนต์ตามตัวเลือกนี้ พารามิเตอร์ตำแหน่งจะเป็น
ยกเลิกการตั้งค่า มิฉะนั้น พารามิเตอร์ตำแหน่งจะถูกตั้งค่าเป็น หาเรื่องถึงแม้ว่า
บางคนเริ่มต้นด้วย a -.
- ส่งสัญญาณสิ้นสุดตัวเลือกทำให้เหลือทั้งหมด หาเรื่องที่จะมอบหมายให้
พารามิเตอร์ตำแหน่ง NS -x และ -v ตัวเลือกถูกปิด ถ้ามี
ไม่ หาเรื่องs พารามิเตอร์ตำแหน่งยังคงไม่เปลี่ยนแปลง

ตัวเลือกจะถูกปิดโดยค่าเริ่มต้นเว้นแต่จะระบุไว้เป็นอย่างอื่น ใช้ + แทน -
ทำให้ตัวเลือกเหล่านี้ถูกปิด ตัวเลือกยังสามารถระบุเป็น
อาร์กิวเมนต์เพื่อเรียกใช้เชลล์ อาจพบชุดตัวเลือกปัจจุบัน
in $-. สถานะการส่งคืนเป็นจริงเสมอเว้นแต่จะพบตัวเลือกที่ไม่ถูกต้อง

เปลี่ยน [n]
พารามิเตอร์ตำแหน่งจาก n+1 ... ถูกเปลี่ยนชื่อเป็น $1 .... พารามิเตอร์
แทนด้วยตัวเลข $# ลงไป $#-n+1 ไม่ถูกตั้งค่า n จะต้องไม่เป็นค่าลบ
จำนวนน้อยกว่าหรือเท่ากับ $#. ถ้า n คือ 0 ไม่มีการเปลี่ยนแปลงพารามิเตอร์ ถ้า n is
ไม่ได้ให้ จะถือว่า 1. ถ้า n มีค่ามากกว่า $#ตำแหน่ง
พารามิเตอร์จะไม่เปลี่ยนแปลง สถานะการส่งคืนมากกว่าศูนย์ if n ยิ่งใหญ่กว่า
กว่า $# หรือน้อยกว่าศูนย์ มิฉะนั้น 0

ช๊อปปิ้ง [-pqsu] [-o] [ชื่อตัวเลือก ... ]
สลับค่าของการตั้งค่าที่ควบคุมการทำงานของเชลล์เสริม การตั้งค่า
สามารถเป็นรายการด้านล่างหรือถ้า -o ใช้ตัวเลือกที่มีอยู่
กับ -o ตัวเลือก ชุด คำสั่งในตัว โดยไม่มีตัวเลือกหรือกับ -p
ตัวเลือก รายการตัวเลือกที่ตั้งค่าได้ทั้งหมดจะปรากฏขึ้น พร้อมระบุว่า
หรือไม่ได้กำหนดไว้ ดิ -p option ทำให้แสดงผลออกมาในรูปแบบที่อาจจะ
นำมาใช้ใหม่เป็นอินพุต ตัวเลือกอื่นๆ มีความหมายดังต่อไปนี้:
-s เปิดใช้งาน (ตั้งค่า) แต่ละอัน ชื่อตัวเลือก.
-u ปิดการใช้งาน (unset) แต่ละอัน ชื่อตัวเลือก.
-q ไม่แสดงเอาต์พุตปกติ (โหมดเงียบ); สถานะการส่งคืนระบุว่า
ชื่อตัวเลือก ถูกตั้งค่าหรือไม่ได้ตั้งค่า ถ้าหลาย ชื่อตัวเลือก อาร์กิวเมนต์จะได้รับกับ
-q, สถานะการส่งคืนจะเป็นศูนย์ถ้าทั้งหมด ชื่อตัวเลือก เปิดใช้งาน; ไม่ใช่ศูนย์
มิฉะนั้น.
-o จำกัดค่าของ ชื่อตัวเลือก เป็นผู้ที่กำหนดไว้สำหรับ -o ตัวเลือก
ชุด สร้างขึ้น

ถ้าอย่างใดอย่างหนึ่ง -s or -u ใช้กับ no ชื่อตัวเลือก อาร์กิวเมนต์ ช๊อปปิ้ง แสดงเฉพาะสิ่งเหล่านั้น
ตัวเลือกที่ตั้งไว้หรือไม่ได้ตั้งค่าตามลำดับ เว้นแต่จะระบุไว้เป็นอย่างอื่น ช๊อปปิ้ง
ตัวเลือกถูกปิดใช้งาน (unset) โดยค่าเริ่มต้น

สถานะการคืนสินค้าเมื่อตัวเลือกรายการเป็นศูนย์ถ้าทั้งหมด ชื่อตัวเลือก เปิดใช้งาน ไม่ใช่
ศูนย์เป็นอย่างอื่น เมื่อตั้งค่าหรือยกเลิกการตั้งค่าตัวเลือก สถานะการส่งคืนจะเป็นศูนย์
เว้นแต่ an ชื่อตัวเลือก ไม่ใช่ตัวเลือกเชลล์ที่ถูกต้อง

รายการของ ช๊อปปิ้ง ตัวเลือกคือ:

ออโต้ซีดี หากตั้งค่าไว้ ชื่อคำสั่งที่เป็นชื่อของไดเร็กทอรีจะถูกดำเนินการเหมือนกับว่า
เป็นข้อโต้แย้งของ cd สั่งการ. ตัวเลือกนี้ใช้โดย .เท่านั้น
เชลล์แบบโต้ตอบ
cdable_vars
หากตั้งค่าไว้ อาร์กิวเมนต์ของ cd คำสั่ง buildin ที่ไม่ใช่ไดเร็กทอรี is
ถือว่าเป็นชื่อของตัวแปรที่มีค่าเป็นไดเร็กทอรีที่จะเปลี่ยน
ไปยัง
ซีดีสเปล หากตั้งค่าไว้ ข้อผิดพลาดเล็กน้อยในการสะกดของคอมโพเนนต์ไดเร็กทอรีใน a cd
จะแก้ไขคำสั่ง ข้อผิดพลาดที่ตรวจสอบจะถูกย้าย
อักขระ อักขระที่ขาดหายไป และอักขระหนึ่งตัวมากเกินไป ถ้า
พบการแก้ไข พิมพ์ชื่อไฟล์ที่แก้ไข และคำสั่ง
ดำเนินการ ตัวเลือกนี้ใช้โดยเชลล์แบบโต้ตอบเท่านั้น
เช็คแฮช
หากตั้งไว้ ทุบตี ตรวจสอบว่ามีคำสั่งที่พบในตารางแฮชมาก่อนหรือไม่
พยายามที่จะดำเนินการมัน หากไม่มีคำสั่ง hashed แล้ว เส้นทางปกติ
ดำเนินการค้นหา
เช็คงาน
หากตั้งไว้ ทุบตี แสดงรายการสถานะของงานที่หยุดและทำงานก่อนหน้านี้
ออกจากเชลล์แบบโต้ตอบ หากมีงานใดกำลังทำงานอยู่ สิ่งนี้จะทำให้
ทางออกจะถูกเลื่อนออกไปจนกว่าจะมีการพยายามออกครั้งที่สองโดยไม่มีการแทรกแซง
คำสั่ง (ดู JOB ควบคุม ข้างต้น). เชลล์จะเลื่อนการออกเสมอถ้ามี
งานจะหยุด
เช็ควินไซส์
หากตั้งไว้ ทุบตี ตรวจสอบขนาดหน้าต่างหลังแต่ละคำสั่ง และถ้าจำเป็น
ปรับปรุงค่าของ LINES และ คอลัมน์.
ซม หากตั้งไว้ ทุบตี พยายามบันทึกทุกบรรทัดของคำสั่งหลายบรรทัดในไฟล์
รายการประวัติศาสตร์เดียวกัน ซึ่งช่วยให้แก้ไขคำสั่งหลายบรรทัดใหม่ได้ง่าย
เข้ากันได้31
หากตั้งไว้ ทุบตี เปลี่ยนพฤติกรรมเป็นเวอร์ชัน 3.1 ในส่วนที่เกี่ยวกับ
อาร์กิวเมนต์ที่ยกมาเพื่อ [[ คำสั่งแบบมีเงื่อนไข =~ โอเปอเรเตอร์และโลแคล-
การเปรียบเทียบสตริงเฉพาะเมื่อใช้ the [[ คำสั่งแบบมีเงื่อนไข < และ >
ผู้ประกอบการ เวอร์ชัน Bash ก่อน bash-4.1 ใช้การเรียง ASCII และ
strcmp(3); bash-4.1 และใหม่กว่าใช้ลำดับการจัดเรียงของโลแคลปัจจุบัน
และ หยุด(3)
เข้ากันได้32
หากตั้งไว้ ทุบตี เปลี่ยนพฤติกรรมเป็นเวอร์ชัน 3.2 ในส่วนที่เกี่ยวกับ
การเปรียบเทียบสตริงเฉพาะสถานที่เมื่อใช้ตัว [[ คำสั่งแบบมีเงื่อนไข <
และ > ตัวดำเนินการ (ดูรายการก่อนหน้า)
เข้ากันได้40
หากตั้งไว้ ทุบตี เปลี่ยนพฤติกรรมเป็นเวอร์ชัน 4.0 ในส่วนที่เกี่ยวกับ
การเปรียบเทียบสตริงเฉพาะสถานที่เมื่อใช้ตัว [[ คำสั่งแบบมีเงื่อนไข <
และ > ตัวดำเนินการ (ดูคำอธิบายของ เข้ากันได้31) และผลกระทบของ
ขัดจังหวะรายการคำสั่ง Bash เวอร์ชัน 4.0 และใหม่กว่าขัดจังหวะ
รายการราวกับว่าเชลล์ได้รับการขัดจังหวะ; เวอร์ชันก่อนหน้ายังคงดำเนินต่อไป
ด้วยคำสั่งถัดไปในรายการ
เข้ากันได้41
หากตั้งไว้ ทุบตีเมื่ออยู่ใน POSIX โหมด ถือว่าอัญประกาศเดี่ยวในเครื่องหมายอัญประกาศคู่
การขยายพารามิเตอร์เป็นอักขระพิเศษ คำพูดเดียวต้องตรงกัน
(เลขคู่) และอักขระระหว่างเครื่องหมายคำพูดเดียวคือ
ถือว่ายกมา นี่คือลักษณะการทำงานของโหมด posix จนถึงเวอร์ชัน 4.1
พฤติกรรมทุบตีเริ่มต้นยังคงอยู่ในเวอร์ชันก่อนหน้า
เข้ากันได้42
หากตั้งไว้ ทุบตี ไม่ประมวลผลสตริงการแทนที่ในรูปแบบ
การขยายคำแทนที่โดยใช้การลบคำพูด
complete_fullquote
หากตั้งไว้ ทุบตี อ้างถึงเชลล์ metacharacters ทั้งหมดในชื่อไฟล์และไดเร็กทอรี
ชื่อเมื่อดำเนินการเสร็จสิ้น ถ้าไม่ได้ตั้งค่า ทุบตี ลบ metacharacters
เช่นเครื่องหมายดอลลาร์จากชุดอักขระที่จะยกมาใน
ชื่อไฟล์ที่สมบูรณ์เมื่อ metacharacters เหล่านี้ปรากฏในตัวแปรเชลล์
การอ้างอิงในคำที่จะกรอก ซึ่งหมายความว่าดอลลาร์ลงนามใน
ชื่อตัวแปรที่ขยายไปยังไดเร็กทอรีจะไม่ถูกยกมา อย่างไรก็ตามใดๆ
เครื่องหมายดอลลาร์ที่ปรากฏในชื่อไฟล์จะไม่ถูกยกมา นี่คือ
ใช้งานได้เฉพาะเมื่อ bash ใช้แบ็กสแลชเพื่อเสนอชื่อไฟล์ที่เสร็จสมบูรณ์
ตัวแปรนี้ถูกตั้งค่าโดยค่าเริ่มต้น ซึ่งเป็นพฤติกรรมการทุบตีเริ่มต้นใน
เวอร์ชันผ่าน 4.2
ไดรขยาย
หากตั้งไว้ ทุบตี แทนที่ชื่อไดเร็กทอรีด้วยผลลัพธ์ของการขยายคำ
เมื่อดำเนินการเสร็จสิ้นชื่อไฟล์ สิ่งนี้จะเปลี่ยนเนื้อหาของ
บัฟเฟอร์การแก้ไข readline ถ้าไม่ได้ตั้งค่า ทุบตี พยายามที่จะรักษาสิ่งที่
ผู้ใช้พิมพ์
ปัดเป่า
หากตั้งไว้ ทุบตี พยายามแก้ไขการสะกดชื่อไดเร็กทอรีระหว่าง word
เสร็จสิ้นหากไม่มีชื่อไดเร็กทอรีที่ให้มาในตอนแรก
ดอทโกล หากตั้งไว้ ทุบตี รวมชื่อไฟล์ที่ขึ้นต้นด้วย `.' ในผลลัพธ์ของ
การขยายชื่อพาธ
สำเร็จ
หากตั้งค่าไว้ เชลล์ที่ไม่โต้ตอบจะไม่ออกหากไม่สามารถเรียกใช้ไฟล์ได้
ระบุเป็นอาร์กิวเมนต์ของ exec คำสั่งในตัว เชลล์แบบโต้ตอบ
ไม่ออก if exec ล้มเหลว
ขยาย_นามแฝง
หากตั้งค่าไว้ นามแฝงจะถูกขยายตามที่อธิบายไว้ข้างต้นภายใต้ นามแฝง. ตัวเลือกนี้
ถูกเปิดใช้งานโดยค่าเริ่มต้นสำหรับเชลล์แบบโต้ตอบ
ขยายข้อบกพร่อง
หากตั้งค่าไว้ จะเปิดใช้งานลักษณะการทำงานสำหรับใช้โดยดีบักเกอร์:
1. พื้นที่ -F ตัวเลือก ประกาศ builtin แสดงชื่อไฟล์ต้นฉบับ
และหมายเลขบรรทัดที่สอดคล้องกับแต่ละชื่อฟังก์ชันที่ระบุเป็น an
ข้อโต้แย้ง.
2. หากคำสั่งรันโดย แก้ปัญหา trap คืนค่าที่ไม่ใช่ศูนย์ the
คำสั่งถัดไปถูกข้ามและไม่ดำเนินการ
3. หากคำสั่งรันโดย แก้ปัญหา trap ส่งคืนค่า 2 และ
เชลล์กำลังดำเนินการในรูทีนย่อย (ฟังก์ชันเชลล์หรือเชลล์
สคริปต์ที่ดำเนินการโดย . or แหล่ง บิวอิน) โทรไป กลับ is
จำลอง
4. ทุบตี_ARGC และ BASH_ARGV ได้รับการอัปเดตตามที่อธิบายไว้ใน
คำอธิบายข้างต้น
5. เปิดใช้งานการติดตามฟังก์ชัน: การแทนที่คำสั่ง, ฟังก์ชันเชลล์,
และเชลล์ย่อยที่เรียกใช้ด้วย ( คำสั่ง ) สืบทอด แก้ปัญหา และ กลับ
กับดัก
6. เปิดใช้งานการติดตามข้อผิดพลาด: การแทนที่คำสั่ง, ฟังก์ชันเชลล์,
และเชลล์ย่อยที่เรียกใช้ด้วย ( คำสั่ง ) สืบทอด ERR กับดัก
ภายนอก หากตั้งค่าไว้ คุณลักษณะการจับคู่รูปแบบเพิ่มเติมที่อธิบายข้างต้นภายใต้
ชื่อพาธ การขยายตัว ถูกเปิดใช้งาน
exquote
หากตั้งไว้ $'เชือก' และ $"เชือก" ดำเนินการเสนอราคาภายใน ${พารามิเตอร์}
ส่วนขยายที่อยู่ในเครื่องหมายคำพูดคู่ ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
ล้มเหลว
หากตั้งค่าไว้ รูปแบบที่ไม่ตรงกับชื่อไฟล์ระหว่างการขยายชื่อพาธ
ทำให้เกิดข้อผิดพลาดในการขยาย
force_fignore
หากตั้งค่าไว้ คำต่อท้ายที่ระบุโดย ฟิกเกอร์ ตัวแปรเชลล์ทำให้คำเป็น
จะถูกละเว้นเมื่อทำการเติมคำให้สมบูรณ์แม้ว่าคำที่ถูกละเว้นจะเป็น
สำเร็จเท่านั้นที่เป็นไปได้ ดู SHELL ตัวแปร ด้านบนสำหรับคำอธิบาย
of ฟิกเกอร์. ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
ลูกโลก
หากตั้งค่า นิพจน์ช่วงจะใช้ในรูปแบบการจับคู่นิพจน์วงเล็บ (ดู
แบบแผน แม็ทชิ่ง ด้านบน) ทำตัวราวกับว่าอยู่ในสถานที่ C ดั้งเดิมเมื่อ
ดำเนินการเปรียบเทียบ นั่นคือลำดับการเรียงของโลแคลปัจจุบัน
ไม่ถูกนำมาพิจารณา ดังนั้น b จะไม่เปรียบเทียบระหว่าง A และ Bและ
อักขระ ASCII ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะเรียงรวมกัน
โกลบอลสตาร์
ถ้ากำหนดรูปแบบ ** ใช้ในบริบทการขยายชื่อพาธจะจับคู่ทั้งหมด
ไฟล์และไดเร็กทอรีและไดเร็กทอรีย่อยตั้งแต่ศูนย์ขึ้นไป ถ้ารูปแบบคือ
ตามด้วย /เฉพาะไดเร็กทอรีและไดเร็กทอรีย่อยเท่านั้นที่ตรงกัน
gnu_errfmt
หากตั้งค่าไว้ ข้อความแสดงข้อผิดพลาดของเชลล์จะถูกเขียนในข้อความแสดงข้อผิดพลาด GNU มาตรฐาน
จัดรูปแบบ
ปิด
หากตั้งค่าไว้ รายการประวัติจะถูกผนวกเข้ากับไฟล์ที่ตั้งชื่อตามค่าของ
ฮิสไฟล์ ตัวแปรเมื่อเชลล์ออก แทนที่จะเขียนทับไฟล์
histreeedit
หากตั้งไว้และ ReadLine กำลังถูกใช้งาน ผู้ใช้จะได้รับโอกาสในการ
แก้ไขการแทนที่ประวัติที่ล้มเหลว
ตรวจสอบประวัติ
หากตั้งไว้และ ReadLine กำลังถูกใช้ ผลลัพธ์ของการแทนที่ประวัติคือ
ไม่ส่งผ่านไปยังตัวแยกวิเคราะห์เชลล์ทันที แต่เส้นผลลัพธ์คือ
โหลดลงใน ReadLine แก้ไขบัฟเฟอร์ อนุญาตให้แก้ไขเพิ่มเติม
โฮสต์เสร็จสมบูรณ์
หากตั้งไว้และ ReadLine กำลังถูกใช้, ทุบตี จะพยายามดำเนินการชื่อโฮสต์
สมบูรณ์เมื่อคำที่มี @ กำลังดำเนินการเสร็จสิ้น (ดู กำลังดำเนินการ
ภายใต้ อ่าน ข้างต้น). สิ่งนี้ถูกเปิดใช้งานโดยค่าเริ่มต้น
ปิด
หากตั้งไว้ ทุบตี จะส่ง ซิกอัพ กับงานทั้งหมดเมื่อล็อกอินเชลล์แบบโต้ตอบ
ทางออก
Interactive_comments
หากกำหนดไว้ ให้ขึ้นต้นด้วย # ที่จะทำให้เกิดคำนั้นและที่เหลือทั้งหมด
อักขระบนบรรทัดนั้นที่จะถูกละเว้นในเชลล์แบบโต้ตอบ (see ความคิดเห็น
ข้างต้น). ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
ท่อสุดท้าย
หากตั้งค่าไว้ และการควบคุมงานไม่ทำงาน เชลล์จะรันคำสั่งสุดท้ายของa
ไปป์ไลน์ไม่ได้ดำเนินการในพื้นหลังในสภาพแวดล้อมของเชลล์ปัจจุบัน
ช่างพิมพ์ ถ้าตั้งค่าไว้ และ ซม เปิดใช้งานตัวเลือกแล้ว คำสั่งหลายบรรทัดจะถูกบันทึกไว้ใน
ประวัติที่มีการขึ้นบรรทัดใหม่แบบฝังแทนที่จะใช้ตัวคั่นอัฒภาค
ที่เป็นไปได้.
ล็อกอิน_เชลล์
เชลล์ตั้งค่าตัวเลือกนี้หากเริ่มต้นเป็นเชลล์ล็อกอิน (ดู
การร้องขอ ข้างต้น). ค่าไม่สามารถเปลี่ยนแปลงได้
เมล์วอร์น
ถ้าตั้งค่าและไฟล์ที่ ทุบตี กำลังตรวจสอบอีเมลที่ได้รับการเข้าถึงตั้งแต่
ครั้งสุดท้ายที่มีการตรวจสอบข้อความ ``จดหมายใน ไฟล์จดหมาย ที่ได้รับ
อ่าน'' จะปรากฏขึ้น
no_empty_cmd_completion
หากตั้งไว้และ ReadLine กำลังถูกใช้, ทุบตี จะไม่พยายามค้นหา
เส้นทาง เพื่อความสมบูรณ์ที่เป็นไปได้เมื่อพยายามทำให้เสร็จในที่ว่างเปล่า
เส้น
โนเคสโกล
หากตั้งไว้ ทุบตี จับคู่ชื่อไฟล์โดยไม่พิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อ
กำลังดำเนินการขยายชื่อพาธ (ดู ชื่อพาธ การขยายตัว ข้างบน).
ไม่ตรงกัน
หากตั้งไว้ ทุบตี จับคู่รูปแบบโดยไม่พิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อดำเนินการ
จับคู่ขณะดำเนินการ กรณี or [[ คำสั่งแบบมีเงื่อนไข
nullglob
หากตั้งไว้ ทุบตี อนุญาตให้มีรูปแบบที่ไม่ตรงกับไฟล์ใดๆ (ดู ชื่อพาธ การขยายตัว
ด้านบน) เพื่อขยายเป็นสตริงว่างแทนที่จะเป็นตัวเอง
โปรแกรมคอม
หากตั้งค่าไว้ สิ่งอำนวยความสะดวกที่โปรแกรมได้สำเร็จ (ดู โปรแกรมได้ สร้างเสร็จ
ด้านบน) เปิดใช้งานอยู่ ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
พรอมต์วาร์
หากตั้งค่าไว้ สตริงพร้อมต์จะได้รับการขยายพารามิเตอร์ การแทนที่คำสั่ง
การขยายเลขคณิตและการลบเครื่องหมายคำพูดหลังจากขยายตามที่อธิบายไว้
in พร้อมท์ ข้างต้น. ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
จำกัด_shell
เชลล์ตั้งค่าตัวเลือกนี้หากเริ่มต้นในโหมดจำกัด (ดู
ถูก จำกัด SHELL ด้านล่าง). ค่าไม่สามารถเปลี่ยนแปลงได้ นี่ไม่ใช่การรีเซ็ต
เมื่อไฟล์เริ่มต้นถูกเรียกใช้งาน อนุญาตให้ไฟล์เริ่มต้นค้นพบ
ไม่ว่าเชลล์จะถูกจำกัดหรือไม่
shift_verbose
หากตั้งค่าไว้ ค่า เปลี่ยน builtin พิมพ์ข้อความแสดงข้อผิดพลาดเมื่อจำนวนกะ
เกินจำนวนพารามิเตอร์ตำแหน่ง
ต้นทาง
หากตั้งค่าไว้ ค่า แหล่ง (.) บิวด์อินใช้ค่าของ เส้นทาง เพื่อค้นหาไดเรกทอรี
มีไฟล์ที่ให้มาเป็นอาร์กิวเมนต์ ตัวเลือกนี้เปิดใช้งานโดย
ค่าเริ่มต้น.
xpg_echo
หากตั้งค่าไว้ ค่า เสียงสะท้อน builtin ขยายลำดับแบ็กสแลช Escape โดยค่าเริ่มต้น

แขวน [-f]
ระงับการดำเนินการของเชลล์นี้จนกว่าจะได้รับ a ซิกคอน สัญญาณ. เข้าสู่ระบบ
เชลล์ไม่สามารถระงับได้ ที่ -f สามารถใช้ตัวเลือกเพื่อแทนที่สิ่งนี้และบังคับ
ระงับ สถานะการส่งคืนคือ 0 เว้นแต่เชลล์จะเป็นเชลล์ล็อกอินและ -f ไม่ใช่
ที่ให้มา หรือหากไม่ได้เปิดใช้งานการควบคุมงาน

ทดสอบ ด่วน
[ ด่วน ]
ส่งกลับสถานะ 0 (จริง) หรือ 1 (เท็จ) ขึ้นอยู่กับการประเมินของ
นิพจน์เงื่อนไข ด่วน. โอเปอเรเตอร์และโอเปอเรเตอร์แต่ละตัวต้องแยกจากกัน
การโต้เถียง. นิพจน์ประกอบด้วยไพรมารีที่อธิบายไว้ข้างต้นภายใต้
เงื่อนไข การแสดงออก. ทดสอบ ไม่ยอมรับตัวเลือกใด ๆ และไม่ยอมรับและ
ละเว้นการโต้แย้งของ -- เป็นการแสดงถึงจุดสิ้นสุดของตัวเลือก

นิพจน์อาจรวมกันโดยใช้ตัวดำเนินการต่อไปนี้ ซึ่งแสดงอยู่ในการลดลง
ลำดับความสำคัญ การประเมินขึ้นอยู่กับจำนวนของอาร์กิวเมนต์ ดูด้านล่าง
ลำดับความสำคัญของตัวดำเนินการจะใช้เมื่อมีอาร์กิวเมนต์ตั้งแต่ห้าอาร์กิวเมนต์ขึ้นไป
! ด่วน จริงถ้า ด่วน เป็นเท็จ
( ด่วน )
ส่งกลับค่าของ ด่วน. สามารถใช้แทนค่าปกติได้
ลำดับความสำคัญของตัวดำเนินการ
หมดอายุ1 -a หมดอายุ2
จริงถ้าทั้งคู่ หมดอายุ1 และ หมดอายุ2 เป็นเรื่องจริง
หมดอายุ1 -o หมดอายุ2
จริงถ้าอย่างใดอย่างหนึ่ง หมดอายุ1 or หมดอายุ2 เป็นความจริง.

ทดสอบ และ [ ประเมินนิพจน์เงื่อนไขโดยใช้ชุดของกฎที่ยึดตาม
จำนวนอาร์กิวเมนต์

0 ข้อโต้แย้ง
นิพจน์เป็นเท็จ
1 ข้อโต้แย้ง
นิพจน์เป็นจริงก็ต่อเมื่ออาร์กิวเมนต์ไม่เป็นค่าว่าง
2 ข้อโต้แย้ง
ถ้าอาร์กิวเมนต์แรกคือ !, นิพจน์เป็นจริงก็ต่อเมื่อวินาที
อาร์กิวเมนต์เป็นโมฆะ ถ้าอาร์กิวเมนต์แรกเป็นหนึ่งในเงื่อนไขเอกพจน์
ตัวดำเนินการที่ระบุไว้ข้างต้นภายใต้ เงื่อนไข การแสดงออก, นิพจน์เป็นจริง
ถ้าการทดสอบเอกพจน์เป็นจริง ถ้าอาร์กิวเมนต์แรกไม่ถูกต้อง unary
ตัวดำเนินการตามเงื่อนไข นิพจน์เป็นเท็จ
3 ข้อโต้แย้ง
ใช้เงื่อนไขต่อไปนี้ในลำดับที่แสดงไว้ ถ้าที่สอง
อาร์กิวเมนต์เป็นหนึ่งในตัวดำเนินการเงื่อนไขแบบไบนารีที่ระบุไว้ข้างต้นภายใต้
เงื่อนไข การแสดงออก, ผลลัพธ์ของนิพจน์เป็นผลมาจาก
การทดสอบไบนารีโดยใช้อาร์กิวเมนต์ที่หนึ่งและสามเป็นตัวถูกดำเนินการ ดิ -a และ -o
ตัวดำเนินการถือเป็นตัวดำเนินการไบนารีเมื่อมีอาร์กิวเมนต์สามตัว
ถ้าอาร์กิวเมนต์แรกคือ !, ค่าคือการปฏิเสธของสองอาร์กิวเมนต์
ทดสอบโดยใช้อาร์กิวเมนต์ที่สองและสาม ถ้าอาร์กิวเมนต์แรกคือ
( และอาร์กิวเมนต์ที่สามก็คือ ), ผลลัพธ์คือการทดสอบหนึ่งอาร์กิวเมนต์
ของอาร์กิวเมนต์ที่สอง มิฉะนั้น นิพจน์จะเป็นเท็จ
4 ข้อโต้แย้ง
ถ้าอาร์กิวเมนต์แรกคือ !, ผลที่ได้คือการปฏิเสธของสามอาร์กิวเมนต์
นิพจน์ประกอบด้วยอาร์กิวเมนต์ที่เหลือ มิฉะนั้น นิพจน์
ถูกแยกวิเคราะห์และประเมินตามลำดับความสำคัญโดยใช้กฎที่ระบุไว้
ข้างบน.
5 ข้อโต้แย้งขึ้นไป
นิพจน์จะถูกแยกวิเคราะห์และประเมินตามลำดับความสำคัญโดยใช้
กฎที่ระบุไว้ข้างต้น

เมื่อใช้กับ ทดสอบ or [ที่ < และ > ตัวดำเนินการจัดเรียงศัพท์โดยใช้ASCII
การสั่งซื้อ

ครั้ง พิมพ์ผู้ใช้สะสมและเวลาของระบบสำหรับเชลล์และสำหรับกระบวนการที่รัน
จากเปลือก สถานะการส่งคืนคือ 0

กับดัก [-ลพ-หาเรื่อง] ซิกสเปค ... ]
คำสั่ง หาเรื่อง จะถูกอ่านและดำเนินการเมื่อเชลล์รับสัญญาณ
ซิกสเปค. ถ้า หาเรื่อง ไม่อยู่ (และมีซิงเกิ้ล ซิกสเปค) หรือ -, ระบุแต่ละรายการ
สัญญาณถูกรีเซ็ตเป็นลักษณะเดิม (ค่าที่มีเมื่อเข้าสู่
เปลือก). ถ้า หาเรื่อง เป็นสตริงว่างสัญญาณที่ระบุโดยแต่ละ ซิกสเปค ถูกละเลย
โดยเชลล์และโดยคำสั่งที่เรียกใช้ ถ้า หาเรื่อง ไม่อยู่และ -p ที่ได้รับ
ให้มา แล้วคำสั่งกับดักที่เกี่ยวข้องกับแต่ละ ซิกสเปค จะแสดง ถ้าไม่
อาร์กิวเมนต์มีให้หรือถ้าเท่านั้น -p จะได้รับ กับดัก พิมพ์รายการคำสั่ง
ที่เกี่ยวข้องกับแต่ละสัญญาณ ดิ -l ตัวเลือกทำให้เชลล์พิมพ์รายการของ
ชื่อสัญญาณและหมายเลขที่เกี่ยวข้อง แต่ละ ซิกสเปค เป็นชื่อสัญญาณ
ที่กำหนดไว้ในสัญญาณ.h> หรือหมายเลขสัญญาณ ชื่อสัญญาณไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และ
ซิก คำนำหน้าเป็นตัวเลือก

ถ้า ซิกสเปค is EXIT (0) คำสั่ง หาเรื่อง ถูกดำเนินการเมื่อออกจากเชลล์ ถ้า
ซิกสเปค is แก้ปัญหา, คำสั่ง หาเรื่อง ถูกประหารชีวิตก่อนทุกๆ ง่าย คำสั่ง, for
สั่งการ, กรณี สั่งการ, เลือก คำสั่งทุกเลขคณิต for คำสั่งและก่อน
คำสั่งแรกดำเนินการในฟังก์ชันเชลล์ (ดู SHELL ไวยากรณ์ ข้างต้น). อ้างถึง
คำอธิบายของ ขยายข้อบกพร่อง ตัวเลือก ช๊อปปิ้ง ในตัวสำหรับรายละเอียดของผลกระทบของมัน
บน แก้ปัญหา กับดัก. ถ้า ซิกสเปค is กลับ, คำสั่ง หาเรื่อง ถูกประหารชีวิตในแต่ละครั้ง a
ฟังก์ชันเชลล์หรือสคริปต์ที่รันด้วย . or แหล่ง บิวอินเสร็จสิ้น
กำลังดำเนินการ

ถ้า ซิกสเปค is ERR, คำสั่ง หาเรื่อง ถูกดำเนินการทุกครั้งที่ไปป์ไลน์ aa (ซึ่งอาจ
ประกอบด้วยคำสั่งง่าย ๆ คำสั่งเดียว) รายการหรือคำสั่งผสมส่งคืน a
สถานะการออกที่ไม่ใช่ศูนย์ ขึ้นอยู่กับเงื่อนไขต่อไปนี้ ดิ ERR กับดักไม่ใช่
ดำเนินการหากคำสั่งที่ล้มเหลวเป็นส่วนหนึ่งของรายการคำสั่งตามหลัง a
ในขณะที่ or จนกระทั่ง คำสำคัญ ส่วนหนึ่งของการทดสอบใน an if คำสั่ง ส่วนหนึ่งของคำสั่ง
ดำเนินการใน && or || รายการยกเว้นคำสั่งหลังสุดท้าย && or ||ใด ๆ
คำสั่งในไพพ์ไลน์แต่สุดท้ายหรือถ้าค่าที่ส่งคืนของคำสั่งเป็น
กลับด้านโดยใช้ !. เป็นเงื่อนไขเดียวกันกับที่ ผิดพลาด (-e) ตัวเลือก

สัญญาณที่ถูกละเว้นเมื่อเข้าสู่เชลล์ไม่สามารถดักจับหรือรีเซ็ตได้ ติดกับดัก
สัญญาณที่ไม่ถูกละเลยจะถูกรีเซ็ตเป็นค่าดั้งเดิมใน subshell
หรือสภาพแวดล้อม subshell เมื่อสร้างขึ้น สถานะการส่งคืนเป็นเท็จถ้ามี
ซิกสเปค ไม่ถูกต้อง มิฉะนั้น กับดัก คืนค่าเป็นจริง

ชนิด [-aftpP] ชื่อ [ชื่อ ... ]
ไม่มีตัวเลือกให้ระบุว่าแต่ละอย่างเป็นอย่างไร ชื่อ จะตีความถ้าใช้เป็นคำสั่ง
ชื่อ. ถ้า -t ใช้ตัวเลือก, ชนิด พิมพ์สตริงที่เป็นหนึ่งใน นามแฝง,
คีย์เวิร์ด, ฟังก์ชัน, ในตัว,หรือ ไฟล์ if ชื่อ เป็นนามแฝง คำสงวนเชลล์
ฟังก์ชัน บิวด์อิน หรือไฟล์ดิสก์ ตามลำดับ ถ้า ชื่อ ไม่พบแล้ว
ไม่มีอะไรถูกพิมพ์ และสถานะการออกเป็นเท็จจะถูกส่งคืน ถ้า -p ตัวเลือกที่
ใช้ ชนิด ส่งคืนชื่อของไฟล์ดิสก์ที่จะดำเนินการ if ชื่อ
ถูกระบุเป็นชื่อคำสั่ง หรือไม่มีอะไรเลยหาก ``type -t name'' ไม่ส่งคืน
ไฟล์. -P ตัวเลือกบังคับ a เส้นทาง ค้นหาแต่ละ ชื่อแม้ว่า ``พิมพ์ -t ชื่อ''
จะไม่กลับมา ไฟล์. หากมีการแฮชคำสั่ง -p และ -P พิมพ์ค่าที่แฮช
ซึ่งไม่จำเป็นต้องเป็นไฟล์ที่ปรากฏก่อนใน เส้นทาง. หาก -a ตัวเลือกที่
ใช้ ชนิด พิมพ์สถานที่ทั้งหมดที่มีชื่อเรียกทำงาน ชื่อ. นี้
รวมถึงนามแฝงและฟังก์ชัน ถ้าและเฉพาะในกรณีที่ -p ยังไม่ได้ใช้ตัวเลือก ดิ
ตารางคำสั่งที่แฮชจะไม่ได้รับคำปรึกษาเมื่อใช้ -a. -f ตัวเลือกปราบปราม
การค้นหาฟังก์ชันเชลล์ เช่นเดียวกับ คำสั่ง สร้างขึ้น ชนิด คืนค่า จริง ถ้า . ทั้งหมด
พบอาร์กิวเมนต์เป็นเท็จหากไม่พบ

ulimit [-HStabcdefilmnpqrstuvx [จำกัด]]
ให้การควบคุมทรัพยากรที่พร้อมใช้งานสำหรับเชลล์และกระบวนการที่เริ่มต้น
โดยมันบนระบบที่อนุญาตให้มีการควบคุมดังกล่าว ดิ -H และ -S ตัวเลือกระบุว่า
ขีดจำกัดฮาร์ดหรือซอฟต์ถูกกำหนดไว้สำหรับทรัพยากรที่กำหนด ฮาร์ดลิมิตไม่สามารถเพิ่มได้
โดยผู้ใช้ที่ไม่ใช่รูทเมื่อตั้งค่าแล้ว ซอฟต์ลิมิตอาจเพิ่มขึ้นได้ถึงมูลค่าของ
ขีด จำกัด ที่ยาก ถ้าไม่ใช่ -H ไม่ -S กำหนดไว้ทั้งแบบอ่อนและแบบแข็ง
มีการตั้งค่า. คุณค่าของ จำกัด สามารถเป็นตัวเลขในหน่วยที่กำหนดไว้สำหรับทรัพยากร
หรือค่าพิเศษอย่างใดอย่างหนึ่ง ยาก, อ่อนนุ่ม,หรือ ไม่ จำกัดซึ่งย่อมาจากปัจจุบัน
ฮาร์ดลิมิต ขีดจำกัดซอฟต์ปัจจุบัน และไม่จำกัด ตามลำดับ ถ้า จำกัด is
ละเว้น ค่าปัจจุบันของขีดจำกัดซอฟต์ของทรัพยากรจะถูกพิมพ์ เว้นแต่
-H มีตัวเลือกให้ เมื่อระบุทรัพยากรมากกว่าหนึ่งรายการ ชื่อขีดจำกัดและ
หน่วยถูกพิมพ์ก่อนค่า ตัวเลือกอื่นตีความดังนี้:
-a มีการรายงานขีดจำกัดปัจจุบันทั้งหมด
-b ขนาดบัฟเฟอร์ซ็อกเก็ตสูงสุด
-c ขนาดสูงสุดของไฟล์คอร์ที่สร้างขึ้น
-d ขนาดสูงสุดของเซ็กเมนต์ข้อมูลของกระบวนการ
-e ลำดับความสำคัญสูงสุดของการจัดกำหนดการ ("ดี")
-f ขนาดสูงสุดของไฟล์ที่เขียนโดยเชลล์และลูกของมัน
-i จำนวนสัญญาณที่รอดำเนินการสูงสุด
-l ขนาดสูงสุดที่อาจล็อกอยู่ในหน่วยความจำ
-m ขนาดชุดที่อยู่อาศัยสูงสุด (หลายระบบไม่ปฏิบัติตามขีดจำกัดนี้)
-n จำนวนสูงสุดของตัวอธิบายไฟล์ที่เปิดอยู่ (ระบบส่วนใหญ่ไม่อนุญาตสิ่งนี้
ค่าที่ตั้งไว้)
-p ขนาดท่อในบล็อก 512 ไบต์ (อาจไม่ได้ตั้งค่า)
-q จำนวนไบต์สูงสุดในคิวข้อความ POSIX
-r ลำดับความสำคัญสูงสุดของการจัดกำหนดการตามเวลาจริง
-s ขนาดกองสูงสุด
-t จำนวนสูงสุดของเวลาซีพียูในหน่วยวินาที
-u จำนวนกระบวนการสูงสุดสำหรับผู้ใช้คนเดียว
-v จำนวนหน่วยความจำเสมือนสูงสุดที่มีให้กับเชลล์และในบางส่วน
ระบบให้กับลูกหลาน
-x จำนวนสูงสุดของการล็อกไฟล์
-T จำนวนเธรดสูงสุด

If จำกัด จะได้รับ และ -a ไม่ได้ใช้ตัวเลือก จำกัด เป็นค่าใหม่ของ
ทรัพยากรที่ระบุ หากไม่มีตัวเลือกให้ -f จะถือว่า ค่าอยู่ใน
เพิ่มขึ้นทีละ 1024 ไบต์ ยกเว้นสำหรับ -tซึ่งอยู่ในหน่วยวินาที -pซึ่งอยู่ในหน่วยของ
บล็อก 512 ไบต์; และ -T, -b, -nและ -uซึ่งเป็นค่าที่ไม่ได้มาตราส่วน การกลับมา
สถานะเป็น 0 เว้นแต่จะระบุตัวเลือกหรืออาร์กิวเมนต์ที่ไม่ถูกต้อง หรือมีข้อผิดพลาดเกิดขึ้น
ขณะกำหนดขีดจำกัดใหม่

อูมาสก์ [-p] [-S] [โหมด]
ตั้งค่ามาสก์การสร้างไฟล์ของผู้ใช้เป็น โหมด. ถ้า โหมด ขึ้นต้นด้วยหลักคือ
ตีความว่าเป็นเลขฐานแปด มิฉะนั้นจะถูกตีความว่าเป็นหน้ากากโหมดสัญลักษณ์
คล้ายกับที่ acceptedยอมรับ chmod(1). ถ้า โหมด ถูกละไว้ มูลค่าปัจจุบันของ
หน้ากากถูกพิมพ์ ดิ -S ตัวเลือกทำให้หน้ากากพิมพ์ในรูปแบบสัญลักษณ์ ที่
เอาต์พุตเริ่มต้นคือเลขฐานแปด ถ้า -p มีตัวเลือกให้และ โหมด is
ละไว้ เอาต์พุตจะอยู่ในรูปแบบที่อาจนำกลับมาใช้ใหม่เป็นอินพุตได้ สถานะการส่งคืนคือ
0 ถ้าเปลี่ยนโหมดสำเร็จหรือถ้าไม่ โหมด อาร์กิวเมนต์ถูกส่งและ
เท็จเป็นอย่างอื่น

ยูนาเลีย [-a] [ชื่อ ... ]
ลบแต่ละอัน ชื่อ จากรายชื่อนามแฝงที่กำหนด ถ้า -a มีให้, นามแฝงทั้งหมด
คำจำกัดความจะถูกลบออก ค่าที่ส่งกลับเป็นจริงยกเว้นกรณีที่ให้มา ชื่อ ไม่ได้เป็น
นามแฝงที่กำหนดไว้

ยกเลิกการตั้งค่า [-fv-n] [ชื่อ ... ]
สำหรับแต่ละ ชื่อให้ลบตัวแปรหรือฟังก์ชันที่เกี่ยวข้องออก ถ้า -v ตัวเลือกที่
ให้แต่ละคน ชื่อ อ้างถึงตัวแปรเชลล์ และตัวแปรนั้นจะถูกลบออก อ่าน-
เฉพาะตัวแปรเท่านั้นที่ไม่สามารถยกเลิกการตั้งค่าได้ ถ้า -f ถูกระบุแต่ละ ชื่อ หมายถึงเปลือก
ฟังก์ชั่นและคำจำกัดความของฟังก์ชั่นจะถูกลบออก ถ้า -n มีตัวเลือกให้
และ ชื่อ เป็นตัวแปรที่มี ชื่อref คุณลักษณะ, ชื่อ จะไม่ถูกตั้งค่ามากกว่า
ตัวแปรที่มันอ้างอิง -n ไม่มีผลถ้า -f มีตัวเลือกให้ ถ้าไม่
มีตัวเลือกให้แต่ละ ชื่อ หมายถึงตัวแปร หากไม่มีตัวแปรโดย
ชื่อนั้น ฟังก์ชันใดๆ ที่มีชื่อนั้นไม่ถูกตั้งค่า แต่ละตัวแปรหรือฟังก์ชันที่ไม่ได้ตั้งค่า
ถูกลบออกจากสภาพแวดล้อมที่ส่งผ่านไปยังคำสั่งที่ตามมา ถ้ามีของ
COMP_WORDBREAKS, RANDOM, วินาที, ลินิน, HISTCMD, FUNCNAME, กลุ่ม,หรือ ไดร์สแต็ก
ไม่ได้ตั้งค่า คุณสมบัติพิเศษจะสูญเสียไป แม้ว่าจะรีเซ็ตในภายหลังก็ตาม
สถานะการออกจะเป็นจริงเว้นแต่ a ชื่อ เป็นแบบอ่านอย่างเดียว

รอ [-n] [n ...]
รอแต่ละกระบวนการย่อยที่ระบุและส่งคืนสถานะการยกเลิก แต่ละ n
อาจเป็น ID กระบวนการหรือข้อกำหนดของงาน หากมีการระบุรายละเอียดของงาน กระบวนการทั้งหมด
ในไปป์ไลน์ของงานนั้นกำลังรออยู่ ถ้า n ไม่ได้รับ ทั้งหมดใช้งานอยู่ในขณะนี้
กระบวนการลูกกำลังรออยู่ และสถานะการส่งคืนเป็นศูนย์ ถ้า -n ตัวเลือกที่
จัดหา รอ รอให้งานใดๆ สิ้นสุดและส่งคืนสถานะการออก ถ้า n
ระบุกระบวนการหรืองานที่ไม่มีอยู่จริง สถานะการส่งคืนคือ 127 มิฉะนั้น
สถานะการส่งคืนคือสถานะการออกของกระบวนการล่าสุดหรืองานที่รอ

ถูก จำกัด SHELL


If ทุบตี ขึ้นต้นด้วยชื่อ ทุบหรือ -r ตัวเลือกมีให้ที่การร้องขอ the
เชลล์ถูกจำกัด เชลล์จำกัดถูกใช้เพื่อตั้งค่าสภาพแวดล้อม more
ควบคุมได้ดีกว่าเปลือกมาตรฐาน มีลักษณะเหมือนกับ ทุบตี ด้วยการยกเว้น
ว่าสิ่งต่อไปนี้ไม่ได้รับอนุญาตหรือไม่ดำเนินการ:

·เปลี่ยนไดเร็กทอรีด้วย cd

·การตั้งค่าหรือยกเลิกการตั้งค่าของ SHELL, เส้นทาง, ENV,หรือ BASH_ENV

· ระบุชื่อคำสั่งที่มี /

· ระบุชื่อไฟล์ที่มี a / เป็นข้อโต้แย้งของ . คำสั่งในตัว

· การระบุชื่อไฟล์ที่มีเครื่องหมายทับเป็นอาร์กิวเมนต์ของ -p ตัวเลือก
กัญชา คำสั่งในตัว

· การนำเข้าคำจำกัดความของฟังก์ชันจากสภาพแวดล้อมของเชลล์เมื่อเริ่มต้น

· แยกค่าของ หอยเชลล์ จากสภาพแวดล้อมของเชลล์เมื่อเริ่มต้น

· เปลี่ยนเส้นทางเอาต์พุตโดยใช้ >, >|, <>, >&, &> และ >> ตัวดำเนินการเปลี่ยนเส้นทาง

· ใช้ exec คำสั่ง buildin เพื่อแทนที่เชลล์ด้วยคำสั่งอื่น

·เพิ่มหรือลบคำสั่งในตัวด้วย -f และ -d ตัวเลือกในการ ทำให้สามารถ
คำสั่งในตัว

· ใช้ ทำให้สามารถ คำสั่งบิวด์อินเพื่อเปิดใช้งานเชลล์บิวด์อินที่ปิดใช้งาน

· ระบุ -p ตัวเลือก คำสั่ง คำสั่งในตัว

·ปิดโหมดจำกัดด้วย ชุด +r or ชุด +o หวงห้าม.

ข้อจำกัดเหล่านี้มีผลบังคับใช้หลังจากอ่านไฟล์เริ่มต้นแล้ว

เมื่อคำสั่งที่พบว่าเป็นเชลล์สคริปต์ถูกดำเนินการ (ดู คำสั่ง การดำเนินการ
ข้างต้น), ทุบ ปิดข้อจำกัดใดๆ ในเชลล์ที่เกิดขึ้นเพื่อเรียกใช้งานสคริปต์

ใช้ bash ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    ปลั๊กอิน Eclipse Tomcat
    ปลั๊กอิน Eclipse Tomcat
    ปลั๊กอิน Eclipse Tomcat มีให้
    การรวมอย่างง่ายของ tomcat servlet
    คอนเทนเนอร์สำหรับการพัฒนา java
    เว็บแอปพลิเคชัน คุณสามารถเข้าร่วมกับเราสำหรับ
    อภิปราย...
    ดาวน์โหลดปลั๊กอิน Eclipse Tomcat
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop สำหรับการสตรีม
    torrents บน Mac, Windows หรือ Linux มัน
    เชื่อมต่อกับทั้ง BitTorrent และ
    WebTorrent เพียร์ ตอนนี้ไม่มี
    ต้องรอนาน...
    ดาวน์โหลดเดสก์ท็อป WebTorrent
  • 3
    GenX
    GenX
    GenX เป็นโปรแกรมทางวิทยาศาสตร์เพื่อปรับแต่ง
    การสะท้อนแสงของรังสีเอกซ์, นิวตรอน
    การสะท้อนแสงและการเอ็กซ์เรย์พื้นผิว
    ข้อมูลการเลี้ยวเบนโดยใช้ดิฟเฟอเรนเชียล
    อัลกอริธึมวิวัฒนาการ....
    ดาวน์โหลด GenX
  • 4
    pspp4หน้าต่าง
    pspp4หน้าต่าง
    PSPP เป็นโปรแกรมสำหรับสถิติ
    การวิเคราะห์ข้อมูลตัวอย่าง มันเป็นฟรี
    แทนที่โปรแกรมที่เป็นกรรมสิทธิ์
    สปส. PSPP มีทั้งแบบข้อความและ
    กราฟิกเรา...
    ดาวน์โหลด pspp4windows
  • 5
    ส่วนขยาย Git
    ส่วนขยาย Git
    Git Extensions เป็นเครื่องมือ UI แบบสแตนด์อโลน
    สำหรับจัดการที่เก็บ Git มันยัง
    ทำงานร่วมกับ Windows Explorer และ
    Microsoft Visual Studio
    (2015/2017/2019). ไทย...
    ดาวน์โหลดส่วนขยาย Git
  • 6
    eSpeak: การสังเคราะห์เสียงพูด
    eSpeak: การสังเคราะห์เสียงพูด
    เอ็นจิ้น Text to Speech สำหรับภาษาอังกฤษและ
    ภาษาอื่น ๆ อีกมากมาย ขนาดกระทัดรัดด้วย
    การออกเสียงที่ชัดเจน แต่ประดิษฐ์
    มีให้ในรูปแบบโปรแกรมบรรทัดคำสั่งด้วย
    มากมาย ...
    ดาวน์โหลด eSpeak: การสังเคราะห์เสียง
  • เพิ่มเติม»

คำสั่ง Linux

Ad