2009-06-13 14 views

Trả lời

11

GNU Coding Standards ủy quyền --version--help và tôi đã mong đợi bất kỳ chương trình CLI nào hỗ trợ các chương trình này. Ngoài ra, nó thực sự phụ thuộc vào chương trình là gì, nhưng dưới đây là một số gợi ý khác: -q hoặc --quiet cho đầu ra thấp hơn, -v hoặc --verbose để có thêm đầu ra, -d hoặc --debug để gỡ lỗi.

5

Một phiên bản ngắn và dài của đối số dòng lệnh. Kiểm tra xem có một cổng thư viện getopt cho ngôn ngữ lập trình mà bạn sử dụng hay không. Nó sẽ giúp bạn phân tích các đối số dòng lệnh.

--config-file=FILE | -C FILE 
--help | -h 
--usage | -u 
--version | -v 

Bao gồm các tùy chọn liên quan khác cho ứng dụng của bạn.

+0

nhờ gợi ý trên getopt sẽ đưa vào nó –

2

Tôi khuyên bạn nên có tùy chọn trợ giúp, phiên bản, cài đặt độ dài đầu ra. Các công tắc khác tùy thuộc vào ứng dụng của bạn.

8

Tùy thuộc vào nền tảng.

Trên Windows, /? hoặc/h hoặc/trợ giúp là phổ biến.

Trên Unix, một lệnh phải có trang hướng dẫn.

Trên các biến thể Unix trong đó các quy ước Gnu được theo sau (ví dụ: Linux), nó phải phản hồi --help và --version. Thậm chí tốt hơn, nó có thể tích hợp với tự động hoàn thành bash.

Ngoài ra, hãy xem các chương trình khác 'trong cùng khu vực với bạn và sử dụng cùng các tùy chọn ở nơi có ý nghĩa. Ví dụ:

  • -r/- đệ quy để recurse xuống thư mục
  • -q/- yên tĩnh để ngăn chặn đầu ra
  • -v/- verbose để tạo ra tiết, sản lượng chẩn đoán
  • -n để thực thi mà không thay đổi bất cứ điều gì

Nếu chương trình của bạn chấp nhận tên tệp làm đối số thì quy ước chung là một dấu gạch nối đơn có nghĩa là 'đọc từ stdin' và gạch nối kép có nghĩa là 'xử lý đối số tiếp theo dưới dạng tệp ngay cả khi nó bắt đầu bằng dấu gạch ngang '.

+0

Để chính xác hơn, hai dấu gạch ngang ('--') thực sự tách các tùy chọn khỏi toán hạng. Vì vậy, nó có nghĩa là 'xử lý tất cả các đối số sau '--' làm toán hạng' và không 'xử lý đối số tiếp theo dưới dạng tệp ngay cả khi nó bắt đầu bằng dấu gạch nối'. Xem khối lượng Định nghĩa cơ sở của IEEE Std 1003.1-2001, Mục 12.2, Nguyên tắc cú pháp tiện ích. –

2

-h là phải trên * nix. Tôi muốn nói tương tự cho /? trên Windows, nhưng các chương trình có sẵn cho cả hai nền tảng thường đi theo kiểu * nix. Đó có thể là do getopt và bạn bè.

Một số yếu tố cần thiết:

-h, --help 
-v, --version 
-u, --usage 

Nếu ứng dụng làm thay đổi bất kỳ tập tin nào cả:

--dry-run Do not modify any files (but work as if you did) 

Nếu ứng dụng sử dụng các file cấu hình, tùy chọn để sử dụng một tập tin cấu hình chi tiết hoặc thư mục.

Một số công tắc hoạt động chính để chạy không tương tác và thực hiện công việc:

mysql --execute="SELECT * FROM ..." 
cmd.exe /C "dir" 
2

Eric S. Raymond đưa ra một tổng quan tuyệt vời của tùy chọn dòng lệnh UNIX phổ biến nhất trong cuốn sách tuyệt vời của ông The Art of Unix Programming. Nó chủ yếu là nói về các tùy chọn một chữ cái, nhưng một nguồn tài nguyên lớn về vấn đề đó tuy nhiên.

3

Tôi đồng ý với tất cả các đối số nêu trên nhưng muốn chỉ ra một điều khác: Bạn có thể muốn ứng dụng của bạn chấp nhận kiểu dài, ngắn và BSD cho tất cả các đối số. Tất nhiên phong cách BSD có thể được ommited nếu bạn cảm thấy rằng không ai trong số người dùng của bạn sẽ được thoải mái bằng cách sử dụng nó. Phong cách lâu dài giúp thêm ý nghĩa cho các đối số và làm cho chúng dễ nhớ hơn khi bắt đầu với ứng dụng.

Các vấn đề liên quan