Je suis en train de suivre un script d'installation sur GitHub et l'une des étapes est:
cp sources/openssl/1.0.1p/Android.mk -o sources/openssl/$OPENSSL_VERSION/Android.mk
Mais mon terminal a lancé une erreur cp: invalid option -- 'o'
J'ai vérifié man cp
sur mon Ubuntu, et il n'y a pas d'option -o
. Est-ce une chose MAC OS? Qu'est - ce que cp -o
veut dire?
Réponses:
Vous pouvez supprimer en toute sécurité l'option -o. Btw, $ OPENSSL_VERSION est-il défini?
la source
C'est une faute de frappe. Il n'y a aucune implémentation de
cp
qui a une-o
option sur un Unix que je connaisse. Je suppose que cette option peut être supprimée en toute sécurité.Il se peut qu'ils signifient
cp -p
(mode de conservation, horodatage et propriété lorsqu'ils sont utilisés avec GNUcp
et autres), oucp -i
pour une invite interactive au cas où le fichier existe déjà.Ils utilisent évidemment GNU
cp
cependant, car ils mélangent des opérandes avec des options. Les outils ordinaires arrêtent généralement d'analyser la ligne de commande à la première non-option, mais les outils GNU essaieront d'être intelligents.la source
cp file -o dir
est destiné à copierfile
et-o
fichiersdir
. Seul GNU (ou une boîte occupée de type GNU)cp
prendrait cela-o
en option (et seulement lorsqu'il$POSIXLY_CORRECT
n'est pas dans l'environnement)curl
…-o
. Mais ce n'est qu'une conjecture. Seul Lei Pi peut vraiment expliquer.cp
,cp --o
serait une abréviation pourcp --one-file-system
. Je suis d'accord avec JdeBP qu'il ne s'agit que d'une faute de frappe, d'autant plus que la section suivante fait quelque chose de similaire aveccurl -o
. Ce n'est pas une indication qu'ils utilisent GNUcp
ou toute autre implémentation.--o
(ou--on
, ou--one
...) fonctionnerait aussi (notez le double tiret)