Eu decidi criar outra questão relacionada Como manter o Bash correndo após a execução do comando? para esquecer a grande imagem e focar no problema principal. Trabalhou como pretendido e finalmente foram apresentadas 3 formas de atingir o objetivo:
- solução alternativa que não era ruim
- portátil (POSIX)
- simples
e eu escolho usar o terceiro dessa maneira:
~ / .run_screen:
#!/bin/bash
/bin/bash -i <<<"$*; exec </dev/tty"
~ / .screenrc:
screen -t server 1 ${HOME}/.run_screen rails s
screen -t spork 2 ${HOME}/.run_screen bundle exec spork
screen -t dev_log 3 ${HOME}/.run_screen tail -f ./log/development.log
screen -t test_log 4 ${HOME}/.run_screen tail -f ./log/test.log
screen -t bash 0