我写了一个脚本来ssh到一些节点并在节点内运行sed
命令。该脚本看起来像
NODES="compute-0-3"
for i in $NODES
do
echo $i
ssh $i 'sed -i \'s/172.16.48.70/172.20.54.10/g\' /etc/hosts;'
done
然而,错误是
unexpected EOF while looking for matching `''
syntax error: unexpected end of file
似乎字符'
不被视为sed
命令的开头。
答案 0 :(得分:2)
我建议更换
ssh $i 'sed -i \'s/172.16.48.70/172.20.54.10/g\' /etc/hosts;'
通过
ssh "$i" 'sed -i "s/172.16.48.70/172.20.54.10/g" /etc/hosts'
如果您绝对想要使用单引号:
ssh "$i" 'sed -i '"'"'s/172.16.48.70/172.20.54.10/g'"'"' /etc/hosts'