回答:
ローカルシェルは${i}
二重引用符("
)内を解釈するため、コマンドは次のように機能します。
ssh user@some.serv.er "for i in /tmp/foo* ; do echo; done"
'
代わりに単一引用符()を使用するだけで、問題が解消されます。
ssh user@${server} 'for i in /tmp/foo* ; do echo $i; done'
リストからポートを取得するために、上記の回答も更新しました。
for i in {10.21.xxx.yyy,10.21.xxx.yyy,10.23.xxx.yyy};
do
for j in {5501,5502,5503,5504,7701,7702,7703,7704,5551,5552,5553,7771,7772,7773};
do
(echo > /dev/tcp/${i}/${j}) > /dev/null 2>&1 && echo "${i}:${j} :: it's getting connected" || echo "${i}:${j} :: it's not connecting"
done
done
--sshlogin
オプションも見てください。