EDIT: Telah ditunjukkan bahwa gaya ini adalah GNU-isme, dan Unix yang tidak berbasis GNU cenderung menggunakan sintaks garis tunggal (khususnya, varian OS X dan BSD).
Meskipun berstatus GNU-isme, banyak program gaya Unix yang baru ditulis menggunakan gaya ini:
--long-option
untuk nama opsi panjang,
-s
untuk opsi pendek (satu karakter),
-abc
untuk beberapa opsi pendek tanpa argumen (satu karakter per opsi).
- Opsi dengan argumen:
--long arg
atau --long=arg
untuk opsi lama,
-s arg
, -sarg
atau (opsional) -s=arg
untuk opsi pendek. Ini dapat dikombinasikan dengan opsi pendek lainnya, selama hanya yang terakhir yang memiliki argumen.
- Opsi "semantik" yang sama dapat memiliki beberapa alias, paling sering yang pendek (lebih cepat untuk mengetik) dan yang panjang (lebih mudah diingat).
Siapa pun yang telah menggunakan shell Linux untuk jangka waktu berapa pun harus terbiasa dengan gaya 1 ini , sehingga memiliki prinsip kejutan paling tidak di sisinya. Membiarkan pengelompokan beberapa opsi pendek tanpa ambigu dengan opsi panjang juga bagus.
1 Misalnya, beberapa program menggunakan gaya ini (pada mesin Linux saya): ls
, grep
, man
, sed
, bash
, dll ( EDIT: ini tampaknya GNU-isme meskipun, BSD dan OS X mesin tidak menggunakan gaya ini)
Ada beberapa perpustakaan yang dapat menangani penguraian ini untuk Anda (yang paling terkenal adalah implementasi getopt dari GNU ), hanya membutuhkan Anda untuk menentukan opsi lama dan pendek yang ada, apakah mereka mengambil argumen, dan apa yang harus dilakukan ketika suatu Opsi ditemukan. (Dan tentu saja, apa yang harus dilakukan untuk argumen posisi, yaitu argumen yang tidak memulai -
dan bukan argumen untuk opsi sebelumnya)
find
adalah program yang sangat lama (atau mungkin lebih mungkin: versi yang ditulis ulang dari program yang sangat lama) yang tidak dapat dengan mudah diubah untuk menggunakan sintaks baris perintah baru. Terlalu banyak skrip akan rusak, dan terlalu banyak pengguna yang terbiasa dengan sintaksis lama akan mengeluh. javac
kemungkinan dipengaruhi oleh gcc
dan teman-teman, yang juga mengikuti sintaks lama karena alasan historis.