ssh passa vários valores

0

Eu quero abrir algumas portas que eu faço

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

retorno

Error: INVALID_PORT
Error: INVALID_PORT
Error: INVALID_PORT
Error: INVALID_PORT

O comando é bom, porque se eu fizer um único comando em um único host, retorne

success
success
success
success
success
success
success
success
success

A questão é, como passar uma variável múltipla em ssh?

    
por elbarna 24.10.2015 / 23:59

1 resposta

3

$ir está sendo expandido pelo seu shell local e não como você espera no lado remoto. Tente escapar do $ : … --add-port=\$ir/tcp …

Ou use aspas simples em vez de aspas duplas, pois você não quer que nada no comando seja expandido localmente.

    
por 25.10.2015 / 00:20