繁体   English   中英

在docker exec命令中使用'*'

[英]Using '*' in docker exec command

我正在尝试在运行的docker容器中运行特定的命令。

 Docker exec -t t1 ls /tmp/sth/*

作为回报,我收到

 ls: cannot access '/tmp/sth/*': No such file or directory

实际上,当我在容器内执行命令时,一切正常。 容器使用Debian,本地计算机使用Windows。 我试图找到它,但是找不到。

如果您想让容器内的外壳扩展您的glob,则需要……好吧……实际上是在容器内运行外壳。 容器外部的那个(当然)看不到容器内部的文件,因此它传递了ls文字模式,而不是您想要的目录中的文件列表。

从而:

docker exec -t t1 sh -c "ls /tmp/sth/*"

...请注意,我通常会在命令中使用单引号,但是由于您的主机是Windows,因此使用双引号是因为它们更有可能在cmd.exe

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM