cp: tùy chọn không hợp lệ - 'o'


8

Tôi đang theo dõi tập lệnh cài đặt trên GitHub và một trong các bước là:

cp sources/openssl/1.0.1p/Android.mk -o sources/openssl/$OPENSSL_VERSION/Android.mk

Nhưng thiết bị đầu cuối của tôi đã ném một lỗi cp: invalid option -- 'o'

Tôi đã kiểm tra man cptrên Ubuntu của mình và không có tùy chọn nào -o. Đây có phải là một điều MAC OS? Không đại diện cp -ocho cái gì?


Tôi không chắc chắn từ -o đến từ đâu nhưng tôi cho rằng điều đó là không cần thiết và bản sao chỉ đơn giản là sao chép từ một đích nguồn vào một thư mục nguồn
Raman sailopal

Câu trả lời:


5

Bạn có thể gỡ bỏ tùy chọn -o một cách an toàn. Btw, $ OPENSSL_VERSION có được đặt không?


Cảm ơn. Có, nó được đặt (OPENSSL_VERSION = 1.0.2h)
Adhy Satya

sau đó chỉ cần xóa -o, tôi nghĩ mọi người ở github không có ý định đặt nó ở đó, thực sự
Alex Austin

8

Đó là một lỗi đánh máy. Không có triển khai cpnào có -otùy chọn trên bất kỳ Unix nào mà tôi biết. Tôi đoán là tùy chọn này có thể được gỡ bỏ một cách an toàn.

Đó có thể là ý nghĩa của chúng cp -p(chế độ bảo quản, dấu thời gian và quyền sở hữu khi được sử dụng với GNU cpvà các thứ khác) hoặc cp -iđể nhắc nhở tương tác trong trường hợp tệp đã tồn tại.

Họ rõ ràng đang sử dụng GNU cp, vì chúng xen kẽ các toán hạng với các tùy chọn. Các công cụ thông thường thường dừng phân tích cú pháp dòng lệnh ở tùy chọn không đầu tiên, nhưng các công cụ GNU sẽ cố gắng trở nên thông minh.


Dù sao, cp file -o dircó nghĩa là để sao chép file-ocác tập tin vào dir. Chỉ GNU (hoặc GNU giống như busybox) cpsẽ lấy đó -olàm tùy chọn (và chỉ khi $POSIXLY_CORRECTkhông ở trong môi trường)
Stéphane Chazelas

2
Có thể đó là sự nhầm lẫn với các chung curl... -o. Nhưng đây là tất cả phỏng đoán. Chỉ có Lei Pi thực sự có thể giải thích.
JdeBP

Với GNU cp, cp --osẽ là viết tắt cho cp --one-file-system. Tôi đồng ý với JdeBP rằng đó chỉ là một lỗi đánh máy, đặc biệt khi xem xét rằng phần tiếp theo sẽ làm điều gì đó tương tự curl -o. Đó không phải là bất kỳ dấu hiệu nào cho thấy họ đang sử dụng GNU cphoặc bất kỳ triển khai nào khác.
Stéphane Chazelas

1
@ user000001, có, nhưng --o(hoặc --on, hoặc --one...) cũng sẽ hoạt động (lưu ý dấu gạch ngang kép)
Stéphane Chazelas

3
@ user000001 Nếu bạn từng viết một tập lệnh (hoặc tài liệu), đừng viết tắt các tùy chọn. Nó làm cho nó khó hiểu một cách không cần thiết.
Kusalananda
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.