A linha exec ssh-agent bash
inicia um novo processo que aguarda a entrada do usuário. Os comandos que seguem esta linha não serão executados até que ssh-agent
process seja concluído.
Se você quiser que ssh-agent bash
execute alguns comandos, você deve passá-los para o canal intput padrão da seguinte forma:
echo 'echo "hello world"' | ssh-agent bash
Desta forma, ssh-agent
executará os comandos enviados a partir de stdin e finish. E os seguintes comandos serão executados posteriormente.
EDITAR:
@ 8bittree observou corretamente no comentário que exec
na verdade não inicia um novo processo e em vez disso substitui o programa atual no processo atual por um novo programa, então as linhas após este comando não seriam executadas sob nenhuma circunstância.