cp: неверная опция - 'o'

8

Я слежу за установочным скриптом на GitHub и один из шагов:

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

Но мой терминал выкинул ошибку cp: invalid option -- 'o'

Я проверил man cpна своем Ubuntu, и нет выбора -o. Это вещь MAC OS? Что означает cp -o?

Аджи сатья
источник
Я не уверен, откуда
взялась

Ответы:

5

Вы можете безопасно удалить опцию -o. Кстати, установлена ​​ли $ OPENSSL_VERSION?

Алекс Остин
источник
Спасибо. Да, это установлено (OPENSSL_VERSION = 1.0.2h)
Adhy Satya
затем просто удалите -o, я думаю, что люди в github не
Алекс Остин
8

Это опечатка. Нет никакой реализации, у cpкоторой есть -oопция на любом Unix, о котором я знаю. Я предполагаю, что эта опция может быть безопасно удалена.

Это может быть , что они имели в виду cp -p(сохранение режима, метку времени и владения при использовании с GNU cpи другими), или cp -iдля интерактивных приглашений в случае , если файл уже существует.

Очевидно, cpчто они используют GNU , поскольку они смешивают операнды с опциями. Обычные инструменты обычно перестают анализировать командную строку при первом неиспользовании, но инструменты GNU будут стараться быть умными.

Кусалананда
источник
Во всяком случае, cp file -o dirимеется в виду , чтобы скопировать fileи -oфайлы dir. Только GNU (или GNU-подобный busybox) cpвоспримет это -oкак опцию (и только когда $POSIXLY_CORRECTего нет в окружении)
Стефан
2
Возможно , это была путаница с общим curl... -o. Но это все догадки. Только Лэй Пи действительно может объяснить.
JdeBP
С GNU cp, cp --oбыла бы аббревиатура cp --one-file-system. Я согласен с JdeBP, что это просто опечатка, особенно учитывая, что в следующем разделе есть что-то похожее curl -o. Нет никаких признаков того, что они используют GNU cpили любую другую реализацию.
Стефан
1
@ user000001, да, но --o(или --on, или --one...) также сработает (обратите внимание на двойную черту)
Стефан
3
@ user000001 Если вы когда-либо пишете скрипт (или документацию), не сокращайте параметры. Это делает его излишне трудным для понимания.
Кусалананда