【发布时间】:2019-03-12 12:09:33
【问题描述】:
我试图使用下面的 bash 脚本在 ssh 上运行一些 docker-compose 命令。我的意思是我有一个可执行的 shell 脚本 deploy.sh,其中包含以下代码 sn-ps
ssh -tt -o StrictHostKeyChecking=no root@142.32.45.2 << EOF
DIR=test
echo \${DIR}
docker-compose --project-name \${DIR} up -d
EOF
但是 DIR 变量在作为参数传递给 docker-compose 时没有得到扩展。它执行如下。而echo \${DIR} 给出了正确的输出,即test。
docker-compose --project-name ${DIR} up -d
【问题讨论】:
-
将第一行替换为
DIR=local; bash << EOF是否得到相同的结果?你试过set -x吗?
标签: bash shell docker unix docker-compose