gpt4 book ai didi

linux - 如果文件不存在,则毫无异常(exception)地从 GCS 中删除

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:07 26 4
gpt4 key购买 nike

我正在通过 python 调用 shell 脚本。

在脚本中,我使用 gsutil rmgsutil cp 命令。

但是只要这两个命令中的任何一个在不存在的 gcp 路径上运行,就会出错。

例如:当我尝试时:

gsutil rm -r gs://some-bucket/somepath-not-present/

我收到错误:

CommandException: 1 files/objects could not be removed.

最终脚本的返回码是1。尽管我的代码本来可以正常执行。我希望脚本在找不到路径时不会给出错误。

有什么办法可以绕过这个问题吗?我已经尝试过 linux 中的 ||,但它似乎不起作用。

最佳答案

如果您在另一个可能受到 gsutil 打印的异常影响的脚本中使用 gsutil,您可以简单地尝试将 stderr 重定向到/dev/null,如下所示:

gsutil rm -r gs://some-bucket/somepath-not-present/ 2> /dev/null

但是,请注意,此时您将开始忽略该命令生成的任何错误。如果你echo $?,你仍然会得到1的错误代码,它可以告诉你文件不存在或发生其他异常。

编辑:

如果您想以退出代码 0 退出脚本,您可以这样做

gsutil rm -r gs://some-bucket/somepath-not-present/ || exit 0

或者,如果您只想命令返回 0,您可以使用

gsutil rm -r gs://some-bucket/somepath-not-present/ || true

关于linux - 如果文件不存在,则毫无异常(exception)地从 GCS 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57912619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com