Hiện tại tôi đang viết một tập lệnh Bash có các yêu cầu sau:
- Nó nên chạy trên nhiều nền tảng Unix / Linux
- cần hỗ trợ cả tùy chọn ngắn và dài (GNU)
Tôi biết đó getopts
sẽ là cách ưa thích về tính di động nhưng AFAIK nó không hỗ trợ các tùy chọn dài.
getopt
hỗ trợ các tùy chọn dài nhưng BashGuide khuyến nghị mạnh mẽ chống lại nó:
Không bao giờ sử dụng getopt (1). getopt không thể xử lý các chuỗi đối số trống hoặc các đối số có khoảng trắng được nhúng. Hãy quên rằng nó từng tồn tại.
Vì vậy, vẫn có tùy chọn phân tích thủ công. Đây là lỗi dễ xảy ra, tạo ra một số mã soạn sẵn và tôi cần tự xử lý lỗi (tôi đoán là getopt(s)
tự xử lý lỗi).
Vì vậy, điều gì sẽ là sự lựa chọn ưa thích trong trường hợp này?