gsutil返回“未找到匹配项”

40
我试图使用gsutil删除Cloud Storage存储桶中的内容(但不是存储桶本身)。 根据文档,命令应该是:gsutil rm gs://bucket/**。 然而,无论我运行什么(当然已经替换了我的存储桶名称),都会得到以下响应:zsh:未找到匹配项:gs://my-bucket/**。 我已检查了权限,我拥有所有者权限。 此外,如果我直接指定在存储桶中的文件,则可以成功删除。
其他可能重要的信息: - 我的存储桶名称中有“ -” (类似于“ my-bucket”) - 这是Cloud Storage保存我的使用日志的存储桶
如何删除存储桶的内容?
3个回答

124

zsh 在 gsutil 看到通配符之前尝试扩展它(并且抱怨您没有与该通配符匹配的本地文件)。请尝试以下操作,以防止 zsh 这样做:

gsutil rm 'gs://bucket/**'

请注意,您需要使用单引号(而不是双引号)来防止 zsh 通配符处理。


0

如果您有要替换的变量,也可以转义通配符字符

使用复制(带有有趣的标志)和rm的示例

GCP_PROJECT_NAME=your-project-name

gsutil -m cp -r gs://${GCP_PROJECT_NAME}.appspot.com/assets/\* src/local-assets/
gsutil rm gs://${GCP_PROJECT_NAME}.appspot.com/\*\*

-5
gsutil rm  gs://bucketName/doc.txt

如果要删除整个存储桶,包括其中的所有对象

gsutil rm -r gs://bucketname

使用gsutil rm命令和-r标志来删除存储桶及其内部的所有内容:gsutil rm -r gs://my-awesome-bucket - sumer raj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接