ポートを少し開きたいです。
for i in centos7{3..4};do ssh -T $i "for ir in 53 80 443 3000 3306 5910-5930 5432 8140 8443 10090-10100 20 21;do firewall-cmd --permanent --zone=public --add-port=$ir/tcp;done"; done
返品
Error: INVALID_PORT
Error: INVALID_PORT
Error: INVALID_PORT
Error: INVALID_PORT
このコマンドは大丈夫です。単一のホストで単一のコマンドを実行すると、次のものが返されるためです。
success
success
success
success
success
success
success
success
success
問題は、SSHを介して複数の変数を渡す方法です。
答え1
$ir
拡張は、リモート側で期待どおりに実行されるのではなく、ローカルシェルによって実行されます。脱出してみてください$
:… --add-port=\$ir/tcp …
または、コマンドのどの項目もローカルに展開したくないので、二重引用符の代わりに一重引用符を使用してください。