Eu tenho dois scripts bash em execução simultaneamente, que são idênticos, além de duas coisas.
Além de algumas outras configurações, eles executam a seguinte entrada:
ssh ${target_server} "bash -s" < ${target_script} > ${home_dir}/logs/${instance_name}.log 2> ${home_dir}/logs/${instance_name}.err &
As únicas diferenças entre os dois scripts são o endereço IP passado para a variável ${target_server}
e a variável ${instance_name}
.
Então, expandido, seria algo parecido com isto:
Em local_script1:
target_script="target_script1.sh"
ssh 10.1.2.3 "bash -s" < ${target_script} > /home/user/logs/script1.log 2> /home/user/logs/script1.err &
Em local_script2:
target_script="target_script2.sh"
ssh 10.1.2.4 "bash -s" < ${target_script} > /home/user/logs/script2.log 2> /home/user/logs/script2.err &
Os target_scripts são novamente dois arquivos bash separados, que são idênticos, além de algumas variáveis-chave relacionadas a caminhos no servidor relevante.
É possível que, embora estejam sendo executados em servidores separados, haja algum cruzamento das variáveis que estão sendo definidas.
por exemplo. se eu definir myVar=1
em target_script1
, poderia ser escolhido por target_script2
?
Ou (estou certo em pensar) que, como cada um está abrindo uma conexão SSH com o servidor 'remoto', as variáveis ONLY existem apenas nos servidores remotos, e não no local.