Sự khác biệt giữa các lệnh - - và và - - trong các lệnh là gì?


13

Tôi thường thấy một dấu gạch ngang -hoặc dấu gạch ngang kép --theo sau bởi các lệnh linux hoặc các chương trình linux được cài đặt khác.

Sự khác biệt giữa dấu gạch ngang đơn và dấu gạch ngang kép là gì?

Có phải chỉ là viết tắt? Ví dụ, -vcó nghĩa là --verbosehầu hết thời gian.


Câu trả lời:


15

Đó là một vấn đề của quy ước. Các chương trình tiêu chuẩn POSIX thường chỉ có các tùy chọn ký tự đơn và tất cả chúng đều có tiền tố với một dấu gạch nối. Các phiên bản dài hơn là một cải tiến GNU cho rõ ràng, theo như tôi có thể nói, và thường được thêm tiền tố với các dấu gạch nối kép. Bạn có thể thấy điều này trong các thư viện và chương trình được sử dụng để phân tích các tùy chọn - getoptgnu-getopttương ứng. Các chương trình không tuân thủ GNU và không POSIX có thể làm một cái gì đó khác hoàn toàn. Lưu ý rằng bạn thực sự không thể chắc chắn rằng dạng đối số dài có thể giống nhau từ chương trình này sang chương trình khác. -fthường có nghĩa --force, nhưng không phải với apt-get install(quan niệm sai lầm phổ biến). -vcó thể có nghĩa là phiên bản - thường, hoặc --verbose, v.v. Kiểm tra các trang man hoặc tài liệu khác để chắc chắn. Cũng có một cái nhìn vàoWikipedia bài viết về getopt . Tất cả điều này có trước Linux từ một thập kỷ trở lên.

ddlà một ví dụ về tiện ích tiêu chuẩn POSIX không có bất kỳ tùy chọn gạch nối nào cả . findlà ví dụ kinh điển về tiện ích tiêu chuẩn POSIX có các tùy chọn từ với các dấu gạch nối đơn - gần như tất cả các findtùy chọn đều dài nhiều ký tự. pshỗ trợ nhiều kiểu tùy chọn:

This version of ps accepts several kinds of options:

1   UNIX options, which may be grouped and must be preceded by a dash.
2   BSD options, which may be grouped and must not be used with a dash.
3   GNU long options, which are preceded by two dashes.

GNUtar cũng hỗ trợ nhiều kiểu tùy chọn.

Về vấn đề sử dụng, hãy ưu tiên các tùy chọn dài trong tập lệnh nếu bạn có thể chắc chắn rằng tập lệnh sẽ được chạy trong môi trường tương thích - sự cải thiện rõ ràng là một điều may mắn khi gỡ lỗi. Đối với tính di động, các tùy chọn ngắn được ưa thích.


Câu trả lời thực sự tốt đẹp. Cám ơn.
Bành Trương

4

Thông thường - các tùy chọn có thể được kết nối với nhau, như pacman -Syutương đương với pacman -S -y -u, và - các tùy chọn thường có một tham số như trong./configure --prefix=/usr

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.