Jawaban:
Lebih tepatnya, tanda hubung ganda ( --) digunakan dalam perintah bash built-in dan banyak perintah lain untuk menandai akhir opsi perintah, setelah itu hanya parameter posisi yang diterima.
Contoh penggunaan: katakanlah Anda ingin grep file untuk string -v- biasanya -vakan dianggap opsi untuk membalikkan makna yang cocok (hanya tampilkan baris yang tidak cocok), tetapi dengan --Anda dapat grep untuk string -vseperti ini:
grep -- -v file
--berfungsi untuk memisahkan opsi dari ekspresi reguler grep, tetapi cara kanonik adalah dengan menggunakan -e/ --regexp.
--, meskipun Anda benar dalam mencatat bahwa contoh saya di atas juga dapat ditulis sebagai grep -e -v file(walaupun itu sangat membingungkan).
bashperintah bawaan menerima --sebagai akhir dari penanda opsi. [dan echojangan misalnya ( salah satu alasan echotidak dapat digunakan dengan andal ).
Dalam man bashkita dapat membaca di Shell Built Perintah bagian:
Kecuali disebutkan sebaliknya, setiap perintah builtin didokumentasikan dalam bagian ini sebagai menerima opsi yang didahului oleh
-accepts--untuk menandakan akhir dari opsi .The
:,true,false, dantestbuiltin tidak menerima pilihan dan tidak memperlakukan--khusus. Theexit,logout,break,continue,let, danshiftbuiltin menerima dan argumen proses dimulai dengan-tanpa memerlukan--. Builtin lain yang menerima argumen tetapi tidak ditentukan sebagai opsi menerima menafsirkan argumen dimulai dengan-sebagai opsi yang tidak valid dan perlu--untuk mencegah interpretasi ini.Catatan yang
echotidak menafsirkan--berarti akhir dari opsi.
man bash(perhatikan sendiri untuk lain kali:).
POSIX.1-2017
12.2 Pedoman Sintaks Utilitas
Pedoman 10:
--Argumen pertama yang bukan opsi-argumen harus diterima sebagai pembatas yang menunjukkan akhir opsi. Argumen berikut harus diperlakukan sebagai operan, bahkan jika mereka mulai dengan karakter '-'.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
setbuilt-in, di mana itu benar-benar diperlukan.