ฉันเคยเห็น--
ใช้ในcompgen
คำสั่ง
ตัวอย่างเช่น:
compgen -W "foo bar baz" -- b
ความหมายของสิ่ง--
ในนั้นคืออะไร?
ฉันเคยเห็น--
ใช้ในcompgen
คำสั่ง
ตัวอย่างเช่น:
compgen -W "foo bar baz" -- b
ความหมายของสิ่ง--
ในนั้นคืออะไร?
คำตอบ:
ยิ่งไปกว่านั้นมีการใช้เครื่องหมายขีดกลางสองตัว ( --
) ในคำสั่ง bash ในตัวและคำสั่งอื่น ๆ อีกมากมายเพื่อบ่งบอกถึงตัวเลือกสุดท้ายของคำสั่งหลังจากนั้นจะยอมรับเฉพาะพารามิเตอร์ตำแหน่งเท่านั้น
ตัวอย่างการใช้งาน: ให้บอกว่าคุณต้องการ grep ไฟล์สำหรับสตริง-v
- โดยปกติแล้ว-v
จะได้รับการพิจารณาว่าเป็นตัวเลือกในการย้อนกลับความหมายที่ตรงกัน (แสดงเฉพาะบรรทัดที่ไม่ตรงกัน) แต่--
คุณสามารถ grep สำหรับสตริง-v
ดังนี้
grep -- -v file
--
ทำงานเพื่อแยกตัวเลือกจากการแสดงออกปกติในgrep
แต่วิธีที่ยอมรับคือการใช้/-e
--regexp
--
ได้แม้ว่าคุณจะถูกต้องในการสังเกตว่าตัวอย่างของฉันด้านบนสามารถเขียนเป็นgrep -e -v file
(แม้ว่าจะมีความสับสนมาก)
bash
คำสั่ง builtin ยอมรับ--
เป็นจุดสิ้นสุดของเครื่องหมายตัวเลือก [
และecho
อย่ายกตัวอย่างเช่น ( หนึ่งในเหตุผลที่echo
ไม่สามารถใช้งานได้อย่างน่าเชื่อถือ )
นี่เป็นการทำเครื่องหมายจุดสิ้นสุดของรายการพารามิเตอร์ (ตัวเลือก)
ในman bash
เราสามารถอ่านได้ในส่วนของคำสั่ง Shell Builtin :
เว้นแต่จะระบุไว้เป็นอย่างอื่นแต่ละคำสั่ง builtin เอกสารในส่วนนี้เป็นตัวเลือกที่จะยอมรับนำโดย
-
ยอมรับที่มีความหมายในตอนท้ายของตัวเลือกที่--
:
,true
,false
และtest
builtins ไม่ยอมรับตัวเลือกและการไม่รักษา--
เป็นพิเศษexit
,logout
,break
,continue
,let
และshift
builtins ยอมรับและข้อโต้แย้งกระบวนการเริ่มต้นด้วยโดยไม่ต้อง-
--
บิวด์อินอื่นที่ยอมรับอาร์กิวเมนต์ แต่ไม่ได้ระบุว่าเป็นการยอมรับตัวเลือกตีความอาร์กิวเมนต์ที่เริ่มต้นด้วย-
ตัวเลือกที่ไม่ถูกต้องและจำเป็นต้อง--
ป้องกันการตีความนี้โปรดทราบ
echo
ว่าไม่ได้แปลความ--
หมายถึงจุดสิ้นสุดของตัวเลือก
man bash
(หมายเหตุสำหรับตนเองในครั้งต่อไป:)
POSIX.1-2017
12.2 แนวทางไวยากรณ์ของยูทิลิตี้
หลักเกณฑ์ 10:
--
อาร์กิวเมนต์แรกที่ไม่ใช่ตัวเลือกอาร์กิวเมนต์ควรได้รับการยอมรับเป็นตัวคั่นระบุจุดสิ้นสุดของตัวเลือก อาร์กิวเมนต์ใด ๆ ต่อไปนี้ควรถูกใช้เป็นตัวถูกดำเนินการแม้ว่าจะเริ่มต้นด้วย-
อักขระ ''
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
set
ในตัวซึ่งจำเป็นอย่างยิ่ง