screen / bin / bash executa o script e depois vai para o shell interativo

3

Estou usando o .byobu / windows para iniciar algumas sessões de tela e estou tentando iniciar um script que sairá para um shell interativo assim que estiver concluído. Isso é possível?

Eu tentei:

screen -t test /bin/bash -i /path/to/script
screen -t test /bin/bash - /path/to/script

Eu percebo que eu poderia simplesmente adicionar um / bin / bash ao final do script, mas eu não quero isso como uma solução para quando eu executo o script em um shell ...

    
por smremde 13.08.2013 / 17:02

3 respostas

2

Se for importante usar o mesmo shell, use o --rcfile flag.

$ cat test.bashrc 
ls
PS1='TEST \$'
$ screen -t test bash --rcfile test.bashrc -i
a.file  b.file  test.bashrc
TEST $

Se o seu .bashrc estiver definindo o ambiente, não deixe de fornecê-lo.

    
por 13.08.2013 / 19:43
2

A única maneira razoável que encontrei para executar um comando, deixando a saída e um shell interativo por trás da tela, é usar o comando 'stuff' para executar o comando:

screen -t title1 bash
stuff 'ls /tmp^M'  # in vim type control-v control-m to insert the return at the end
    
por 24.02.2017 / 17:06
0

Se possível, basta iniciar dois comandos.

screen -t test /bin/bash /path/to/script; /bin/bash

Se você só puder iniciar um comando, tente o seguinte:

/bin/bash -c 'screen -t test /bin/bash /path/to/script; /bin/bash'
    
por 13.08.2013 / 17:21