我有一个可在远程服务器上运行docker容器的shell脚本。
我正在尝试将远程服务器的主机名发送到容器中,但我只是获得运行脚本的本地计算机的主机名。
该命令在脚本中如下所示:
public class Point {
int x;
int y;
Point(int x, int y){
this.x = x;
this.y = y;
}
Point center(Point other) {
return new Point((x + other.x) / 2, (y + other.y) / 2); // How to print this value?
}
public void printPoint() {
System.out.println("(" + x + "," + y + ")"); //Value of x and y
}
}
public class Main {
public static void main(String[] args) {
Point p = new Point(1,5);
p.printPoint();
}
}
主机名和环境变量host.hostname都成为本地计算机的名称。
我知道我可以这样使用单引号:
ssh $remote "docker run -h '`hostname`' \
-e 'VARIABLE=$SCRIPT_VAR' \
-e 'HOST_HOSTNAME=`hostname`' \
..."
,它将起作用。但后来我不能使用ssh $remote 'echo "`hostname`"'
我该如何在远程服务器上进行评估,同时还能使用变量?
答案 0 :(得分:1)
您仍然需要确保引用geometry
的扩展名,以防止其受到单词拆分或路径名扩展的影响。
$SCRIPT_VAR