незаконный вариант -?при копировании - PullRequest
0 голосов
/ 30 ноября 2018

Я только что начал работать на Macac HighSierra Imac, и при попытке скопировать некоторые файлы я получаю сообщение об ошибке:

Я только что создал каталог test, чтобы прояснить проблему:

Каталог test содержит:

file1.txt file2.txt folder1

Используя следующую команду в родительском каталоге:

cp -R test/ .

Я получаю эту ошибку:

cp: illegal option -- ?
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
   cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory

Согласно странице справочника для cp, аргумент -R означает:

Если source_file обозначает каталог, cp копирует каталог и все поддерево, подключенное в этой точке.Если исходный_файл заканчивается на /, содержимое каталога копируется, а не сам каталог.

Есть предложения относительно того, почему я получаю ошибку?

У меня установлена ​​версия bash 3.2.57 (1) -релиз

---- ОБНОВЛЕНИЕ ---

В соответствии с комментариями к этой проблеме, я предоставляю некоторые дополнительныеинформация:

  1. which cp возвращает /bin/cp
  2. echo cp -R test/ . возвращает cp -R test/ .
  3. set | grep cp ничего не возвращает
  4. cp --version и cp --help возвращает cp: illegal option -- ? usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
  5. man cp возвращает страницу справочника, но, похоже, ничего не изображено в версии, кроме BSD February 23, 2005 BSD

---- ОБНОВЛЕНИЕ ----

После всех замечательных комментариев я нашел проблему и исправил ее.type cp возвращает cp is aliased to cp -I.

Я создал псевдоним cp, чтобы запросить вывод стандартной ошибки перед копированием файла, который перезапишет существующий файл (аргумент cp -I).Этот псевдоним сработал как find в сочетании с -R на моем macbook, но, видимо, не на моем Imac.

Теперь команда cp -R test/ . работает так, как я ожидал.

1 Ответ

0 голосов
/ 04 декабря 2018

Решает ли это вашу проблему:

cp -R test/* .

или:

cp -R test/* ./

Добавляя звездочку, вы упоминаете, что копируете файлы, а не каталог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...