cp: option invalide - 'o'

8

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 cpsur mon Ubuntu, et il n'y a pas d'option -o. Est-ce une chose MAC OS? Qu'est - ce que cp -oveut dire?

Adhy Satya
la source
Je ne sais pas d'où vient le -o mais je suppose qu'il n'est pas nécessaire et la copie est simplement en train de copier d'une destination source vers un répertoire source
Raman Sailopal

Réponses:

5

Vous pouvez supprimer en toute sécurité l'option -o. Btw, $ OPENSSL_VERSION est-il défini?

Alex Austin
la source
Merci. Oui, il est réglé (OPENSSL_VERSION = 1.0.2h)
Adhy Satya
puis supprimez -o, je pense que les gens de github ne voulaient pas vraiment le mettre là-bas
Alex Austin
8

C'est une faute de frappe. Il n'y a aucune implémentation de cpqui a une -ooption 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 GNU cpet autres), ou cp -ipour une invite interactive au cas où le fichier existe déjà.

Ils utilisent évidemment GNU cpcependant, 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.

Kusalananda
la source
Quoi qu'il en soit, cp file -o direst destiné à copier fileet -ofichiers dir. Seul GNU (ou une boîte occupée de type GNU) cpprendrait cela -oen option (et seulement lorsqu'il $POSIXLY_CORRECTn'est pas dans l'environnement)
Stéphane Chazelas
2
Peut-être que c'était la confusion avec le commun curl-o. Mais ce n'est qu'une conjecture. Seul Lei Pi peut vraiment expliquer.
JdeBP
Avec GNU cp, cp --oserait une abréviation pour cp --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 avec curl -o. Ce n'est pas une indication qu'ils utilisent GNU cpou toute autre implémentation.
Stéphane Chazelas
1
@ user000001, oui, mais --o(ou--on , ou --one...) fonctionnerait aussi (notez le double tiret)
Stéphane Chazelas
3
@ user000001 Si jamais vous écrivez un script (ou de la documentation), n'abrégez cependant pas les options. Cela le rend inutilement difficile à comprendre.
Kusalananda