编辑:
看来我的主要问题是通过FOR循环的每次迭代来处理远程主机上的“word”为空。当我回显它时,COLORS变量看起来不错,它显示了所有四种颜色。
我有一个带有通过ssh调用的FOR循环的bash脚本,如下所示:
ssh user@host02 <<EOF
COLORS=RED GREEN WHITE ORANGE
for word in $COLORS; do
echo $word
done
exit
EOF
我的输出如下所示:
ORANGE
ORANGE
ORANGE
ORANGE
FOR循环在COLORS变量中标识4个空格分配的args,因为它循环并回显应有的4倍,但它仅显示最后一个arg ORANGE。我可以更改什么以使每个args回显?
最佳答案
2个问题:
COLORS="RED GREEN WHITE ORANGE"
$
。 下面的代码有效:
ssh user@host02 <<EOF
COLORS="RED GREEN WHITE ORANGE"
for word in \$COLORS; do
echo \$word
done
EOF
我还从中删除了不必要的退出语句。
关于bash - 带有/空格+ ssh的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045932/