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 getopts
akan menjadi cara yang disukai dalam hal portabilitas tetapi AFAIK tidak mendukung opsi lama.
getopt
mendukung 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?