Làm thế nào để diễn giải lệnh bash sử dụng cú pháp giỏi?


11

Làm thế nào chính xác là bạn phải diễn giải đầu ra của một đầu ra "sử dụng" lệnh, ví dụ như trong bash.

Ví dụ, trên OS X của tôi, cpcung cấp cho tôi

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
  • Các tùy chọn lồng nhau, như -H trong -R, chỉ ra điều gì?
  • Liệu chữ hoa và chữ thường có ý nghĩa gì không?
  • Khi nào là một đối số tùy chọn, bắt buộc?

Tôi cần phải thực hiện một dòng lệnh telnet chống lại một chương trình của tôi và tôi muốn nói thẳng điều này.

Câu trả lời:


15

Đối với bất cứ ai đang cố gắng để hiểu đầu ra sử dụng có nghĩa là gì, cách tốt nhất là man man.

nghiêm túc :-) Hãy dành thời gian để tìm hiểu các quy ước, nó thực sự có ích.

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.
   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

+1 xóa bài viết của tôi là dư thừa.
Warner

man mantrên CentOS 6.6 không có phần này; phiên bản man mantrên Mac OS X 10.7.4 cũng không. Tôi có thể tìm thấy nó ở đâu?
Wildcard

Tìm thấy nó, nó man man-pagestrong CentOS và man manpagestrên Mac OS X (sử dụng các lệnh BSD).
tự đại diện

Câu trả lời này, cũng như man manlệnh dường như không bao gồm các trường hợp trong đó đầu vào phải là một trong các mục trong bảng liệt kê. Ví dụ<env> - must be one of [dev | test | uat | perf | prod]
Addison

2

Trước hết, trong khi có những quy ước chung, chúng không được áp dụng thống nhất.

  • Trong trường hợp này, nó nói rằng nếu bạn sử dụng -R(chỉ "đệ quy"), sau đó bạn có thể sử dụng một trong hai -H, -Lhoặc -P. Nếu bạn không sử dụng -R, thì những tùy chọn đó không liên quan.
  • Vâng, trường hợp gần như luôn luôn quan trọng. Vì vậy, thường -h-Hlàm những điều hoàn toàn khác nhau.
  • Dấu ngoặc vuông thường chỉ ra rằng một tùy chọn hoặc đối số là "tùy chọn". (Những thứ có dấu gạch ngang phía trước chúng là "tùy chọn", những từ không có dấu gạch nối là đối số.) Không có dấu ngoặc, tùy chọn hoặc đối số thường được yêu cầu. Trong ví dụ của bạn, cả "source_file" và "target_directory" đều được yêu cầu. "..." chỉ ra rằng đối số trước đó có thể được lặp lại.

Những điểm đáng chú ý khác:

  • Thanh dọc cho biết "HOẶC". Vì vậy, [-fi | -n]cho biết bạn có thể sử dụng một trong hai -fvà / hoặc -ikhông kết hợp với -n.
  • Các tùy chọn được nhóm trong ngoặc cho biết bạn có thể sử dụng bất kỳ trong số chúng. Vì vậy, [-apvX]chỉ ra rằng bạn có thể sử dụng bất kỳ sự kết hợp của các tùy chọn đó. Họ thậm chí không cần phải đập phá cùng nhau. Vì vậy, -a -v -psẽ là một sự kết hợp hợp lệ.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.