Você pode separar vários comandos por ; , então eles são executados sequencialmente, por exemplo:
really_long_script.sh ; echo Finished
Se você deseja executar o próximo programa somente se o script terminar com o código de retorno 0 (o que geralmente significa que foi executado corretamente), então:
really_long_script.sh && echo OK
Se você quiser o oposto (ou seja, continue somente se o comando atual tiver falhado), do que:
really_long_script.sh || echo FAILED
Você pode executar seu script em segundo plano (mas cuidado, a saída de scripts ( stdout e stderr ) continuará indo para o terminal, a menos que você o redirecione para algum lugar) e wait para ele:
really_long_script.sh &
dosomethingelse
wait; echo Finished
Se você já executou o script, poderá suspendê-lo com Ctrl-Z e, em seguida, executar algo como:
fg ; echo Finished
Em que fg coloca o processo suspenso em primeiro plano ( bg o executaria em segundo plano, praticamente como iniciado com & )