【问题标题】:illegal option -- ? when copying非法选项——?复印时
【发布时间】:2018-11-30 12:11:24
【问题描述】:

我刚开始在 Imac macOS HighSierra 上工作,当尝试复制一些文件时,我不断收到错误:

我刚刚创建了一个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 复制该目录和在该点连接的整个子树。如果 source_file 以 / 结尾,则 复制目录而不是目录本身。

关于我为什么会收到错误的任何建议?

我有 bash 版本 3.2.57(1)-release

----更新---

根据cmets对这个问题,我提供了一些额外的信息:

  1. which cp 返回/bin/cp
  2. echo cp -R test/ .返回cp -R test/ .
  3. set | grep cp 不返回任何内容
  4. cp --versioncp --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 之外似乎没有描述任何关于版本的内容

【问题讨论】:

  • -r 选项应该做什么?您是否尝试过阅读 cp 的手册页(即 man cp)?它说什么?
  • 在 directory_1 中是否有一个奇怪的文件?
  • 请注意,macOS 附带的 BSD cp 不鼓励使用 -r:“cp 实用程序的历史版本有一个 -r 选项。此实现支持该选项;但是,它的使用强烈建议不要这样做,因为它不会正确复制特殊文件、符号链接或 fifo。"
  • 无法复制here。这很奇怪。这应该像您在此处发布的那样工作。我认为问题与您发布的代码无关,它必须是别的。您是从命令行还是在脚本中运行命令?你能发布cp --version的输出吗?
  • which,作为一个外部命令,不会知道是否有一个别名或 shell 函数隐藏了一个内置函数。使用type cp 看看是不是这样。

标签: bash unix


【解决方案1】:

对于 Mac OS,将 cp 命令更改为以下示例

前 1.

"copy:schemas": "cp --parents schematics/*/schema.json ../../dist/my-lib/",

作为

"copy:schemas": "find schematics -type f -name 'schema.json' -exec rsync -R {} ../../dist/my-lib/ \\;",

前 2.

copy:files": "cp --parents -p schematics/*/files/** ../../dist/my-lib/",

作为

"copy:files": "find schematics/*/files/** -exec rsync -R {} ../../dist/my-lib/ \\;",

希望这会有所帮助?。

【讨论】:

    【解决方案2】:

    这是否解决了您的问题:

    cp -R test/* .
    

    或:

    cp -R test/* ./
    

    通过添加星号,您提到您正在复制文件,而不是目录。

    【讨论】:

      猜你喜欢
      • 2021-11-02
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多