Я слежу за установочным скриптом на 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
?
Ответы:
Вы можете безопасно удалить опцию -o. Кстати, установлена ли $ OPENSSL_VERSION?
источник
Это опечатка. Нет никакой реализации, у
cp
которой есть-o
опция на любом Unix, о котором я знаю. Я предполагаю, что эта опция может быть безопасно удалена.Это может быть , что они имели в виду
cp -p
(сохранение режима, метку времени и владения при использовании с GNUcp
и другими), илиcp -i
для интерактивных приглашений в случае , если файл уже существует.Очевидно,
cp
что они используют GNU , поскольку они смешивают операнды с опциями. Обычные инструменты обычно перестают анализировать командную строку при первом неиспользовании, но инструменты GNU будут стараться быть умными.источник
cp file -o dir
имеется в виду , чтобы скопироватьfile
и-o
файлыdir
. Только GNU (или GNU-подобный busybox)cp
воспримет это-o
как опцию (и только когда$POSIXLY_CORRECT
его нет в окружении)curl
...-o
. Но это все догадки. Только Лэй Пи действительно может объяснить.cp
,cp --o
была бы аббревиатураcp --one-file-system
. Я согласен с JdeBP, что это просто опечатка, особенно учитывая, что в следующем разделе есть что-то похожееcurl -o
. Нет никаких признаков того, что они используют GNUcp
или любую другую реализацию.--o
(или--on
, или--one
...) также сработает (обратите внимание на двойную черту)