Şu anda aşağıdaki gereksinimleri olan bir Bash betiği yazıyorum:
- Çok çeşitli Unix / Linux platformlarında çalışmalıdır.
- hem kısa hem de (GNU) uzun seçenekleri desteklemesi gerekir
getoptsTaşınabilirlik açısından tercih edilen yol olacağını biliyorum, ancak AFAIK uzun seçenekleri desteklemiyor.
getoptuzun seçenekleri destekler, ancak BashGuide buna karşı şiddetle tavsiye eder:
Asla getopt (1) kullanmayın. getopt, boş argüman dizeleri ya da gömülü beyaz boşluklu argümanları işleyemez. Lütfen onun var olduğunu unut.
Yani, hala manuel ayrıştırma seçeneği var. Bu hataya açık, oldukça fazla kazan kodu üretiyor ve hataları kendi başıma halletmem gerekiyor (sanırım getopt(s)kendi başlarına hata yönetimi yapıyoruz).
Peki, bu durumda tercih edilen seçim ne olurdu?