cp:无法统计‘/some/path/*’:没有这样的文件或目录

cp:无法统计‘/some/path/*’:没有这样的文件或目录

我的脚本代码是:

var="/some/path"
cp "$var*" "/another/path"

然后它抛出:

cp: cannot stat '/some/path/*': No such file or directory

我尝试过这个并得到同样的错误:

cp "${var}*" "/another/path"

最后,我通过以下方法解决了这个问题:

cp "$var"* "/another/path"

这次命令执行成功,但我想知道原因。

你能给出解释吗?

答案1

当您使用"$var*"输出时/some/path*,其中*被视为字符(而不是通配符,因为它在双引号内 -查看 glob)。因此,在您的情况下(/some/path/*),cp正在搜索目录*内命名的文件/文件夹path

当它在双引号之外时,它将被视为通配符,即以path(path1path2) 开头的任何内容。
或者 if path/*(该目录上的任何内容)。

相关内容