【发布时间】:2018-11-14 11:13:33
【问题描述】:
我有一个在远程服务器上运行 docker 容器的 shell 脚本。
我正在尝试将远程服务器的主机名发送到容器中,但我只是获取了运行脚本的本地计算机的主机名。
该命令在脚本中如下所示:
ssh $remote "docker run -h '`hostname`' \
-e 'VARIABLE=$SCRIPT_VAR' \
-e 'HOST_HOSTNAME=`hostname`' \
..."
主机名和环境变量 host.hostname 都成为我本地计算机的名称。
我知道我可以像这样使用单引号:
ssh $remote 'echo "`hostname`"'
它会起作用的。但是我不能使用像$SCRIPT_VAR这样的脚本变量
我怎样才能让它在远程服务器上进行评估,同时还能使用变量?
【问题讨论】:
-
为什么投反对票?
-
不是重复的。我知道区别。我只是想要介于两者之间的东西。不过我想我自己也想出来了。
-
您的“解决方案”未引用
$SCRIPT_VAR,如果它包含空格,可能会破坏您的命令。 -
请将答案放在答案块中。稍后,您可以接受自己的答案。另见How does accepting an answer work?