Tente isto:
run_command='./executable.x -input input.dat << i
input1
input2
i
'
eval "$run_command"
Eu tenho o seguinte script simples para executar um executável:
./executable.x -input input.dat << i
input1
input2
i
Isso funciona perfeitamente e tudo está certo com o mundo. No entanto, gostaria de ter outro script para executar várias ferramentas que exigem entradas diferentes. Então eu gostaria de armazenar as 4 linhas acima em uma variável que o script interpreta da mesma forma. Eu tentei o seguinte:
run_command=$(echo -e "./executable.x -input input.dat << i\ninput1\ninput2\ni")
Se eu echo $run_command
, parece certo, mas não é interpretado da mesma forma. Qualquer orientação aqui seria muito apreciada!
Tente isto:
run_command='./executable.x -input input.dat << i
input1
input2
i
'
eval "$run_command"