Você pode colocar seus comandos em um arquivo, por exemplo, myscreenrc
, assim:
screen command1
screen command2
screen command3
e execute screen
com a opção -c
seguida do nome desse arquivo, por exemplo,
screen -c myscreenrc
UPDATE
em resposta à pergunta atualizada. Os comandos que usei para testes foram screen vim foo
e screen vim bar
, então não vi o problema de fechamento da tela. O seguinte resolve o problema de fechamento de tela, mas parece um pouco complicado.
screen bash -c 'ls foo; exec bash -i'
screen bash -c 'ls bar; exec bash -i'
ls
foi apenas um comando conveniente para testar este problema.
UPDATE # 2
Outra abordagem seria iniciar o comando a partir do arquivo rc do shell e não do arquivo rc da tela. Requer outro arquivo para cada comando, no entanto. Por exemplo, para executar top
em uma janela screen
de modo que sair de top
retorne você a um prompt bash
nessa mesma janela, crie um arquivo, chame-o de runtop
, que contém o seguinte: / p>
. ~/.bashrc
top
Em seguida, coloque esta linha no arquivo que estamos chamando de screenrc
:
screen bash --rcfile ~/runtop -i
e inicie screen
como
screen -c screenrc