Apa yang disebut `--`?


23

Baru-baru ini saya mengetahui --bahwa itu adalah tanda hubung ganda yang digunakan untuk memberi tahu perintah bahwa daftar opsi telah berakhir dan yang berikut tidak boleh dianggap sebagai opsi. Begitu,

grep --  'search_word' *

akan mencari yang diberikan search_word. Tapi Anda bisa melihat perilaku yang tidak terduga jika Anda menghapus --dan jika ada satu file yang dimulai dengan -, yang akan mengaktifkan opsi yang cocok dengan karakter dalam nama file .

Apa ini --namanya? Apakah ada istilah teknis untuk ini?


3
Lihat debat tentang Mengapa unix-head mengatakan "minus"? lalu gandakan.
manatwork

@manatwork Tidak, persegi! Haruskah kita mengatakan "minus minus" atau "minus minus"?
Gilles 'SANGAT berhenti menjadi jahat'

Saya hanya mengucapkannya "-".
dubiousjim

Saya menemukan keteraturan cd --dan cd -fenomena. Sementara cd --berarti dasarnya adil cddan dengan demikian berubah menjadi Anda $HOME, cd -berarti menempatkan diri Anda ke direktori sebelumnya. Ini menjadi berguna ketika Anda ingin cd ..tetapi karena dengan tata letak keyboard jerman saya sering mencampurnya cd --. cd -akan mengembalikanmu. : D
matematika

Jawaban:


15

Ini --berfungsi untuk alat yang digunakan getopt(3)untuk memproses argumen baris perintah dan banyak API yang mem-parsing opsi gaya POSIX.

Dari halaman manual getopt(3):

Interpretasi opsi dalam daftar argumen dapat dibatalkan oleh opsi `- '(tanda hubung ganda) yang menyebabkan getopt () memberi sinyal akhir dari pemrosesan argumen dan mengembalikan -1.

Saya kemudian akan mengatakan itu disebut dash ganda


Tapi saya berani bertaruh ada istilah linguistik untuk itu.
Rob

3
getopt bukan satu-satunya API yang mendukung "-". Sebagian besar API yang mem-parsing opsi gaya POSIX dalam kebanyakan bahasa mendukungnya. Semua utilitas POSIX echodan dan [mendukungnya
Stéphane Chazelas

@StephaneChazelas Terima kasih saya telah mengedit jawabannya
Matteo

5

Dua nama yang saya tuju dalam praktik adalah "tanda hubung ganda" untuk merujuk secara estetis , dan "akhir opsi" untuk merujuk secara fungsional .


Saya pernah melihatnya disebut sebagai 'opsi terakhir' juga.
Tim Kennedy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.