Tại sao vốn cờ đệ quy -r ở một số và thấp hơn ở những người khác?


8

Một số lệnh sử dụng chữ thường rcho cờ đệ quy của chúng trong khi các lệnh khác sử dụng chữ in hoa R.

cp -r foo/ bar/

chmod -R 777 foobar/

Có một lý do cho điều này?

Câu trả lời:


8

cp thực sự chấp nhận cả hai.

Từ cp --help:

  -R, -r, --recursive          copy directories recursively

Để thống nhất, hầu hết các lệnh shell sử dụng -Rnhư một cờ đệ quy , có thể là do chúng bắt chước hành vi của ls.

Từ ls --help:

  -r, --reverse              reverse order while sorting
  -R, --recursive            list subdirectories recursively

1
Ngoài ra, chmod -rđã được sử dụng để có nghĩa là một cái gì đó ngoài đệ quy!
Darth Android

3

Tôi không chắc chắn rằng có bất kỳ lý do cụ thể nào cho sự không nhất quán đó ngoài việc các lập trình viên có thể chọn sử dụng bất kỳ cờ nào họ muốn.

Tôi không nghĩ rằng có bất kỳ hình thức tiêu chuẩn nào cho việc đó nên thật khó để mong mọi người tuân theo.


7
Lý do có thể sẽ là lịch sử. Trong thế giới Unix rộng lớn hơn từ những năm 70, các công tắc đệ quy không luôn ở đó và một số lệnh đã sử dụng -r làm công tắc. Bởi vì các lệnh thường được sử dụng trong các tập lệnh, có quán tính cực lớn liên quan đến khả năng tương thích ngược, vì vậy những điều này về cơ bản không bao giờ thay đổi - bạn có thể thêm tùy chọn vào chương trình, nhưng sẽ là nhà phát triển cố gắng thay đổi chức năng được thiết lập từ lâu.
Stephanie
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.