Saat ini saya sedang menulis skrip Bash yang memiliki persyaratan sebagai berikut:
- itu harus dijalankan pada berbagai platform Unix / Linux
- itu harus mendukung opsi pendek dan pendek (GNU)
Saya tahu itu getoptsakan menjadi cara yang disukai dalam hal portabilitas tetapi AFAIK tidak mendukung opsi lama.
getoptmendukung opsi panjang tetapi BashGuide sangat merekomendasikannya:
Jangan pernah gunakan getopt (1). getopt tidak dapat menangani string argumen kosong, atau argumen dengan spasi kosong. Tolong lupakan bahwa itu pernah ada.
Jadi, masih ada opsi penguraian manual. Ini rawan kesalahan, menghasilkan beberapa kode boilerplate, dan saya perlu menangani kesalahan sendiri (saya kira getopt(s)melakukan penanganan kesalahan sendiri).
Jadi, apa pilihan yang lebih disukai dalam kasus ini?