`-` เรียกว่าอะไร?


23

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

grep --  'search_word' *

search_wordจะค้นหาที่กำหนด แต่คุณจะได้เห็นพฤติกรรมที่ไม่คาดคิดหากคุณลบ--และหากมีไฟล์เดียวที่เริ่มต้นด้วย-ซึ่งจะเปิดตัวเลือกที่เหมาะสมกับตัวอักษรในชื่อไฟล์

สิ่งนี้--เรียกว่าอะไร? มีศัพท์เทคนิคใด ๆ บ้างไหม?


3
ดูการถกเถียงเรื่องทำไมยูนิกซ์ - หัวพูดว่า“ ลบ”? จากนั้นเพิ่มเป็นสองเท่า
จัดการ

@ การจัดการไม่สแควร์มัน! เราควรพูดว่า "เครื่องหมายลบ" หรือ "ลบเครื่องหมาย" หรือไม่?
Gilles 'หยุดความชั่วร้าย'

ฉันแค่ออกเสียงว่า "-"
dubiousjim

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

คำตอบ:


15

การ--ทำงานสำหรับเครื่องมือที่ใช้getopt(3)ในการประมวลผลอาร์กิวเมนต์บรรทัดคำสั่งและ API มากมายที่แยกวิเคราะห์ตัวเลือกสไตล์ POSIX

จากหน้าคู่มือของgetopt(3):

การตีความตัวเลือกในรายการอาร์กิวเมนต์อาจถูกยกเลิกโดยตัวเลือก `- '(เส้นประสองครั้ง) ซึ่งทำให้ getopt () ส่งสัญญาณการสิ้นสุดการประมวลผลอาร์กิวเมนต์และส่งคืน -1

ฉันจะบอกว่ามันเรียกว่าเส้นประสองครั้ง


แต่ฉันพนันได้เลยว่ามันมีศัพท์ภาษาศาสตร์สำหรับเรื่องนั้น
Rob

3
getopt ไม่ใช่ API เดียวที่รองรับ "-" APIs ส่วนใหญ่ที่แยกวิเคราะห์ตัวเลือกสไตล์ POSIX ในภาษาส่วนใหญ่สนับสนุน ยูทิลิตี้ POSIX ทั้งหมดยกเว้นechoและ[สนับสนุน
Stéphane Chazelas

@StephaneChazelas ขอบคุณฉันแก้ไขคำตอบ
Matteo

5

มีเพียงสองชื่อเท่านั้นที่ฉันเคยเป็นหัวหน้าในทางปฏิบัติคือ "double dash" สำหรับการอ้างอิงถึงสุนทรียะและ "end of options" สำหรับการอ้างอิงถึงการใช้งานจริง


ฉันเคยเห็นมันอ้างถึงเป็น 'ตัวเลือกสุดท้าย' เช่นกัน
Tim Kennedy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.