【发布时间】:2019-11-14 15:19:18
【问题描述】:
我正在远程机器上从客户端机器运行 ssh 命令:
ssh -o "StrictHostKeyChecking no" -i $key 'user'@$public_ip "
i=1;
workerips: "ip1 ip2";
for ip in $worker_ips; do
echo \"ipis: ${ip} and i is ${i}\"
done;"
我的问题是 '$ip' 和 '$i' 在 'for' 循环中是空的。 '$i' 将其值保持在 for 循环之外。我做错了什么?
【问题讨论】:
-
第三行不应该是
workips="ip1 ip2";吗?实际上,您可能需要转义这些引号:workerips=\"ip1 ip2\";。您可能还需要将每个$转义为\$,以便在远程机器上而不是在本地进行解释。 -
感谢将 $ 转义为 \$ 修复了它。我已经在代码中使用了带有转义引号的第 3 行,但问题中没有包含它。