我想SSH进入主机并启动一个容器并运行一些命令。因此,代码将如下所示:
ssh $host 'screen -L -d -m bash -c "docker run "\
"--network=host -v ~/data:/data myimage:${TAG_NAME}"\
" /bin/bash -c \" some command.... \""'
问题很简单,因为我使用的是单引号,所以我看不到${TAG_NAME}
。有什么办法写这种嵌套的引号并传递变量?
答案 0 :(得分:0)
您可以停止和开始单引号以包括环境变量,如下所示:
echo 'foo'"$HOME"'foo'
例如,在$host
上运行的命令中包含env var(来自本地系统)的方式为:
ssh $host 'screen -L -d -m bash -c "docker run'\
' --network=host -v ~/data:/data myimage:'"$TAG_NAME"\
' /bin/bash -c \" some command.... \""'