我们可以使用 gsutil 命令执行 shell 脚本吗

Posted

技术标签:

【中文标题】我们可以使用 gsutil 命令执行 shell 脚本吗【英文标题】:can we execute shell script using gsutil command 【发布时间】:2018-01-24 14:01:38 【问题描述】:

文档中没有提到使用 gsutil 执行 shell 脚本的选项。尝试了一些选项,但仍然没有运气。我有一个 .sh 文件,存储在存储桶中,有没有办法使用 gsutil 执行此脚本?

【问题讨论】:

【参考方案1】:

gsutil 不支持直接执行 shell 脚本,但您可以将其通过管道传输到 shell,例如:

gsutil cat gs://your-bucket/your-script.sh | sh

【讨论】:

感谢您的回答,上述命令在云 shell 中完美运行,但我正在尝试将脚本执行到我的数据流作业中,我可以使用直接运行器在我的作业中执行 gsutil仅在 gsutil 中执行 shell。有什么方法可以在我们的 java 数据流代码中连接到云 shell 环境(我使用的是 Windows 系统,所以不认为我可以使用我当前的环境运行 shell)。如果您对此有任何信息,请分享。 我认为将其发布为专门针对您的场景的新问题可能更有用,即“如何在 Cloud Dataflow 作业中实现 X?”我不确定 Dataflow 在多大程度上支持任意脚本执行。

以上是关于我们可以使用 gsutil 命令执行 shell 脚本吗的主要内容,如果未能解决你的问题,请参考以下文章

使用 STDIN 的“gsutil rm”命令

在 python 脚本中运行 gcloud auth 和 gsutil 命令

终端关闭时运行 Google Cloud Storage gsutil 命令

GSUTIL CP 命令行为不一致

crontab gsutil 命令执行但没有输出

从 groovy 脚本运行 gsutil:找不到 Python 可执行文件