Saya mengikuti skrip instalasi di GitHub dan salah satu langkahnya adalah:
cp sources/openssl/1.0.1p/Android.mk -o sources/openssl/$OPENSSL_VERSION/Android.mk
Tapi terminal saya membuat kesalahan cp: invalid option -- 'o'
Saya memeriksa man cp
Ubuntu saya, dan tidak ada pilihan -o
. Apakah ini masalah MAC OS? Apa artinya cp -o
?
Jawaban:
Anda dapat dengan aman menghapus opsi -o. Btw, apakah $ OPENSSL_VERSION disetel?
sumber
Itu salah ketik. Tidak ada implementasi
cp
yang memiliki-o
opsi pada Unix yang saya tahu. Dugaan saya adalah bahwa opsi ini dapat dihapus dengan aman.Ini mungkin bahwa mereka berarti
cp -p
(melestarikan modus, timestamp dan kepemilikan bila digunakan dengan GNUcp
dan lain-lain), ataucp -i
untuk interaktif mendorong dalam hal file sudah ada.Mereka jelas menggunakan GNU
cp
, karena mereka mencampurkan operan dengan opsi. Alat biasa biasanya berhenti mem-parsing baris perintah pada pilihan pertama, tetapi alat GNU akan mencoba menjadi pintar.sumber
cp file -o dir
dimaksudkan untuk menyalinfile
dan-o
file kedir
. Hanya GNU (atau seperti GNU seperti busybox) yangcp
akan menganggap itu-o
sebagai opsi (dan hanya ketika$POSIXLY_CORRECT
tidak ada di lingkungan)curl
...-o
. Tapi ini semua hanya dugaan. Hanya Lei Pi yang bisa menjelaskan.cp
,cp --o
akan menjadi singkatan untukcp --one-file-system
. Saya setuju dengan JdeBP bahwa itu hanya kesalahan ketik terutama mengingat bahwa bagian selanjutnya melakukan sesuatu yang miripcurl -o
. Itu bukan indikasi bahwa mereka menggunakan GNUcp
atau implementasi lainnya.--o
(atau--on
, atau--one
...) juga akan berfungsi (perhatikan tanda hubung ganda)