cp 命令不适用于 Mac OS X 上的通配符

Jak*_*les 5 unix macos

我在 Mac OS X 机器上使用以下命令:

cp "/Users/username/Desktop/silverlock-dev/silverlock/../3rdparty/botan-build-desktop/src/libBotan*" "/Users/username/Desktop/silverlock-dev/silverlock-build-desktop/silverlocklib/../bin"

但是我得到:

cp: /Users/username/Desktop/silverlock-dev/silverlock/../3rdparty/botan-build-desktop/src/libBotan*: No such file or directory

该目录中显然有 4 个文件,名为:

libBotan.1.0.0.dylib
libBotan.1.0.dylib (symlink to first file)
libBotan.1.dylib (symlink to first file)
libBotan.dylib (symlink to first file)
Run Code Online (Sandbox Code Playgroud)

如果我在复制命令中拼出文件的全名,它工作正常,但我需要能够使用通配符作为构建过程的一部分。逻辑和理由告诉我这应该没有问题。我错过了一些简单的东西吗?

Soa*_*Box 11

当您将 * 放在引号中时,它希望它是文字文件名,而不是进行全匹配扩展。只需取出引号,这将起作用。另外,请查看 superuser.com,这就是此类问题的去处。

  • 要回答有关文件/路径中空格的问题,您可以使用转义符(如 klez 所说),或用空格引用该部分但不引用通配符:`/path/with空格/filename prefix"*` (3认同)