Điều này là nhiều hơn về việc gọi chương trình, hơn bất kỳ ngôn ngữ hoặc trình phân tích cú pháp nào (mặc dù tôi chắc chắn rằng sự lựa chọn của thư viện phân tích cú pháp có thể phụ thuộc vào điều này). Hãy xem, tôi đã sử dụng rất nhiều tiện ích dòng lệnh Linux. Và có một số mô hình rõ ràng; '-' đứng trước một chữ cái duy nhất cho các tùy chọn ngắn, nhiều tùy chọn không tham số có thể được kết hợp, '-' đứng trước các phiên bản dài của các tùy chọn, v.v.Có tiêu chuẩn nào cho các thiết bị chuyển mạch dòng lệnh Linux và các đối số không?
Tuy nhiên, trong một số trường hợp, viết hoa được sử dụng để đảo ngược một tùy chọn. Vì vậy, '-d' có thể có nghĩa là chạy như một daemon, nhưng '-D' sẽ là không phải là chạy dưới dạng daemon. (Tại sao không chỉ bỏ qua tùy chọn nếu bạn không muốn nó? Điều đó chưa bao giờ rõ ràng, nhưng nó thực sự khá phổ biến, vì vậy tôi thấy phải có một số lý do.) Nhưng trong một số chương trình, vốn là một lựa chọn hoàn toàn không liên quan; nếu '-d' được chạy dưới dạng daemon, '-D' có thể là để bật chế độ gỡ lỗi. Có một số loại bao quát chính đằng sau này, và đó là tốt nhất để lựa chọn? Hay chúng ta chỉ đang đối phó với "bất cứ công trình nào"?
Ngoài ra còn có một số lệnh, ngoài (hoặc thay thế) các tùy chọn có đối số, chỉ cần lấy các đối số đơn lẻ. cp là một ví dụ tốt về điều này; ngoài một số ít sử dụng Toggles, đối số cuối cùng nó nhận được được coi là đích, và bất kỳ đối số nào giữa danh sách tùy chọn và đích đến được coi là nguồn. Có một quy tắc của ngón tay cái khi nó "okay" để dựa vào thứ tự như thế, thay vì sử dụng cờ tùy chọn rõ ràng với các đối số?
Không có tiêu chuẩn chung cho các tùy chọn dòng lệnh, mặc dù quy ước 'getopt' là điểm bắt đầu tốt. Để trả lời câu hỏi của bạn về các tùy chọn đảo ngược, mặc định thường được chỉ định trong tệp cấu hình, vì vậy, bạn cần cả kích hoạt cưỡng bức và công tắc bật tắt buộc. – Borealid