2

Часть программного обеспечения, которую мне нужно установить в моей системе Ubuntu Hardy, имеет Makefile, который включает команду cp -n .

Тем не менее, я получаю сообщение о том, что -n является недопустимым параметром.

Команда будет работать на терминале Mac, но мне нужно, чтобы она работала на Ubuntu.

Кто-нибудь знает эквивалентную команду для Ubuntu?

4 ответа4

4

В FreeBSD (во многих отношениях это похоже на Mac OS X) опция -n означает «Не перезаписывать существующий файл». Я думаю, что в Ubuntu вы можете использовать флаг -u который означает, что обновлять эту копию, только если место назначения старше, чем источник, или если место назначения отсутствует.

1

Флаг -n означает "нет дублирования" (не заменять существующие файлы при копировании). Вы можете использовать cp -i чтобы cp спрашивал, должен ли файл быть перезаписан.

1

cp в GNU coreutils 7.6 определенно есть опция -n . Используйте cp --version чтобы проверить версию cp, которая используется.

0

Обратите внимание, что если вы используете cp в сценарии автоматической сборки, bash rewrite будет просто:

cp -n src dest

в

if [ ! -e dest ]; then
    cp -f src dest
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .