Ada beberapa pola berbeda untuk opsi yang telah digunakan secara historis dalam aplikasi UNIX. Beberapa yang lama, seperti tar , menggunakan skema posisi:
argumen opsi perintah
seperti misalnya penggunaan tar
tar * sesuatu * f "file dioperasikan pada" * "path file untuk memanipulasi" *
Dalam upaya pertama untuk menghindari kebingungan, tar dan beberapa program lain dengan gaya flag-argumen lama diperbolehkan membatasi bendera dengan tanda hubung, tetapi kebanyakan dari kita orang tua mengabaikannya.
Beberapa perintah lain memiliki sintaks baris perintah yang lebih rumit, seperti dd (1) yang menggunakan flag, tanda sama, nama path, argumen dan partridge di pohon pir, semua dengan pengabaian liar.
Dalam BSD dan versi unix yang lebih baru, ini memiliki lebih atau kurang konvergen ke bendera karakter tunggal ditandai dengan '-', tetapi ini mulai menimbulkan beberapa masalah:
- bendera-bendera itu mungkin sulit untuk diingat
- terkadang Anda sebenarnya ingin menggunakan nama dengan '-'
- dan terutama dengan alat-alat GNU, mulai ada batasan yang diberlakukan oleh jumlah bendera yang mungkin. Jadi alat GNU menambahkan opsi panjang GNU suka
--output
.
Kemudian Sun memutuskan bahwa ekstra '-' itu berlebihan dan mulai menggunakan bendera gaya-panjang dengan single '-'s.
Dan begitulah yang menjadi kekacauan sekarang.