DÜZENLEME: Bu stilin bir GNU-izm olduğu ve GNU tabanlı olmayan Unix'lerin tek kesikli bir sözdizimi (özellikle OS X ve BSD varyantları) kullanma eğiliminde olduğu belirtildi.
GNU-ism statüsüne rağmen, yeni yazılmış birçok Unix tarzı program bu stili kullanır:
--long-option uzun seçenek adları için,
-s kısa (tek karakter) seçenekler için,
-abc bağımsız değişkenler olmadan birden fazla kısa seçenek için (seçenek başına bir karakter).
- Bağımsız değişkenli seçenekler:
--long argveya --long=arguzun seçenekler için,
-s arg, -sargveya (isteğe bağlı olarak) -s=argkısa seçenekler için. Yalnızca sonuncunun bir argümanı olduğu sürece, bu diğer kısa seçeneklerle birleştirilebilir .
- Aynı "anlamsal" seçenek, çoğunlukla kısa (yazmak daha hızlı) ve uzun (hatırlanması daha kolay) olan birkaç takma ada sahip olabilir.
Herhangi bir süre için bir Linux kabuğu kullanan herkes bu stile 1 aşina olmalıdır , bu yüzden tarafında en az sürpriz ilkesine sahiptir. Uzun seçeneklerle belirsiz olmadan çoklu kısa seçeneklerin gruplandırılmasına izin vermek de güzel.
1 Örneğin, (benim Linux makine) bu stili kullanan programlardan bazıları: ls, grep, man, sed, bash, vb ( DÜZENLEME: bunlar, BSD ve OS X makineleri bu stili kullanmayın olsa görünüşte GNU-izm vardır)
Sizin için bu ayrıştırma bakabilirim birkaç kütüphaneler vardır (çoğu olmanın iyi bilinen GNU uygulanması ait getopt ) sadece uzun ve kısa seçenekler onlar bir argüman da, ister mevcut ve ne zaman bir ne yapacağını belirtmek için sana ihtiyacım, seçeneği bulundu. (Ve elbette, konumsal argümanlar için ne yapmalı, yani başlangıç -seçenekleriyle başlamayan ve önceki seçeneklere argüman olmayanlar)
findyeni bir komut satırı sözdizimi kullanmak için kolayca değiştirilemeyen çok eski bir programdır (veya belki de daha olası: çok eski bir programın yeniden yazılmış bir sürümüdür). Çok fazla komut dosyası bozulur ve eski sözdiziminde kullanılan çok fazla kullanıcı şikayet eder. javacmuhtemelen gcctarihsel nedenlerden dolayı eski bir sözdizimini takip eden arkadaşlar ve arkadaşlardan etkilenmişti .