executando um loop for no shell script

1

Gostaria de saber qual é a melhor maneira de conseguir isso:

Eu tenho um arquivo com os dados abaixo:

server1   
chl(abc.123) chltype(RCVR)
chl(xyz.123) chltype(RCVR)
server2
chl(abc.000) chltype(RCVR)
chl(abc.999) chltype(RCVR)
chl(xyz.456) chltype(RCVR)

Agora quero executar um script que faça isso.

ssh para o servidor 1 e execute os seguintes comandos para aqueles listados no servidor 1, em seguida, ssh para o servidor 2 e execute os comandos para aqueles listados em server2

por exemplo, no servidor 1

echo chl(abc.123) chltype(RCVR)
    
por MO12 18.09.2015 / 04:21

1 resposta

1

Você pode fazer algo como:

while IFS= read -r line; do
    if [[ ${line} =~ ^server\d+$ ]] ; then
        server=${line}
        continue
    fi
    ssh ${server} "echo ${line}"
done

Assumindo que o formato do seu arquivo não seja alterado.

    
por 18.09.2015 / 06:12