Screen - herda o ambiente da janela atual

3

No GNU Screen, como posso criar uma nova janela cujo shell herda o ambiente do shell na janela atual?

O Ctrl usual + A C parece não fazer isto.

    
por ricab 09.09.2013 / 20:42

1 resposta

5

Se você definir variáveis de ambiente em uma tela (digamos, bash), e então abrir uma nova tela, será um processo bash separado e, portanto, não obterá o ambiente no shell bash já em execução. Uma solução rápida para contornar o problema seria:

env TERMCAP= env | sed -r 's/^(\w+)=(.*)$/=""/' > env.sh

então, quando você tiver Ctrl a c para obter um novo shell, então você pode

source env.sh

É hacky e eu uso env TERMCAP= env porque a variável de ambiente TERMCAP é multi-linha e torna o sed muito mais complicado. Não é bonito, mas funciona:)

Você pode querer alterá-lo para fazer:

env TERMCAP= env | sed -r 's/^(\w+)=(.*)$/export =""/' > env.sh

Portanto, as variáveis também são exportadas.

    
por 10.09.2013 / 11:14