shell 有没有办法在gcloud ssh --命令参数中给予多行?

uemypmqf  于 2022-11-16  发布在  Shell
关注(0)|答案(1)|浏览(169)

我尝试从gcloud为多个示例安装代理,

gcloud compute ssh example-instance --zone=us-central1-a --command="sudo su - && mkdir /tmp && cd /tmp && ..."

涵盖的步骤:
1.苏多苏

  1. mkdir /临时目录
  2. cd /临时
    1.下载代理
    1.安装它
    如何从gcloud computer ssh --command=运行多行脚本?
pw9qyyiw

pw9qyyiw1#

您可以使用heredoc,但不应在要以root身份运行的脚本中包含sudo

# Create SCRIPT 
read -r -d '' SCRIPT <<EOF
mkdir /tmp
cd /tmp
...
EOF

gcloud compute ssh ${NAME} \
--zone=${ZONE} \
--command="sudo ${SCRIPT}"

使用startup-script安装代理可能更好。使用--command需要将脚本作为变量传递,并且往往更特别。

相关问题