我有一个目录,其名称的结尾发生了变化。我希望能够复制此目录中包含的文件。例如,我有这个路径(我不知道目录名后面是什么-
,这里是这个例子ab
):
/tmp/folder-ab/file
我想复制文件。
这在 docker 之外有效:
cp /tmp/folder-*/file /other/path/
但我想从 docker 容器中复制,所以我尝试了:
docker cp $CONTAINERID:/tmp/[folder-]*/file /other/path/
我收到以下错误:
Error response from daemon: lstat
/var/lib/docker/100000.100000/devicemapper/mnt/1ae07ffeda9e69465058ad01439543ab17a142d74668350b9185c1632cd7dec7/rootfs/tmp/folder-*/file:
no such file or directory
为什么它不起作用
在您的代码中
docker cp $CONTAINERID:/tmp/[folder-]*/file /other/path
,您使用 glob (*
)。Glob 由 shell 扩展,但你的 shell 不知道容器中的文件。您当前的 shell 配置,是*
在文件名中保留 ,就好像只是一个普通字符。Docker 然后告诉你…/folder-*/…
找不到。该怎么办
这些都是未经测试的,请测试。
或者