我正在尝试从gcloud为多个实例安装代理,
gcloud compute ssh example-instance --zone=us-central1-a --command="sudo su - && mkdir /tmp && cd /tmp && ..."
包含的步骤:
- sudo su -
- mkdir/tmp
- cd/tmp
- 下载代理
如何从gcloud compute SSH运行多行脚本——command= ?
您可以使用heredoc,但您不应该在脚本中包含sudo
,您希望以root身份运行:
# Create SCRIPT
read -r -d '' SCRIPT <<EOF
mkdir /tmp
cd /tmp
...
EOF
gcloud compute ssh ${NAME}
--zone=${ZONE}
--command="sudo ${SCRIPT}"
使用启动脚本安装代理可能会更好。使用--command
需要将脚本作为变量传递,并且倾向于更加特别。