【发布时间】:2021-04-22 21:28:29
【问题描述】:
我正在用 bash 编写脚本,但在部署到我的 ec2 时出现此错误:
这是我的代码:
# !/bin/bash
#Get servers list
set -f
string=$QA_DEPLOY_SERVER
array=(${string//,/ })
#Iterate servers for deploy and pull last commit
for i in “${!array[@]}”; do
echo “Deploy project on server ${array[i]}”
ssh ubuntu@${array[i]} "cd /opt/bau && git pull origin master"
done
脚本有什么问题,我该如何解决?非常感谢。
【问题讨论】:
-
你说错误在第16行,但你没有告诉我们这是哪一行。
-
也许您在变量中有空格,您可以在其中进行不带引号的参数扩展。使用
-x运行您的脚本进行检查。 -
嗨,所以错误发生在:“echo “Deploy project on server ${array[i]}”行,更新了我的问题。
-
代码有“智能引号”,这些是否也在您的实际代码中?比较
“”与"" -
是的,这些都在我的代码中。我一直在关注这篇文章:lucabecchetti.medium.com/…
标签: bash git ubuntu amazon-ec2 gitlab