shell -$SHELL
Adicione a linha acima ao seu ~/.screenrc
, isso fará a inicialização da tela usando um shell de login que carregará seu ~/.bash_profile
.
Eu tenho ~ / .bash_profile que eu gostaria de ser invocado toda vez que uma nova tela GNU fosse criada para que todos os meus aliases trabalhassem na tela GNU enquanto eles trabalhavam no terminal.
Neste momento, é assim que meu ~ / .screenrc se parece.
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
shell -$SHELL
Adicione a linha acima ao seu ~/.screenrc
, isso fará a inicialização da tela usando um shell de login que carregará seu ~/.bash_profile
.
adicione shell -$SHELL
no ~/.screenrc
funciona para mim.
Ele fará cada sessão de tela como uma sessão de shell nornal.
Alguns aplicativos do Mac contam com o .bash_profile e outros com o .bashrc. Eu não descobri nenhuma regra específica para saber qual deles está sendo carregado, mas para consistência este é o meu .bash_profile:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
O problema é um pouco vago; Os arquivos de inicialização do shell são executados por tela na criação de janelas, e o seu não é como se algo estivesse configurado incorretamente em seu .bashrc ou .bash_profile. Eu não encontrei essa tela usando o OS X.
Você já tentou iTerm em vez da tela? Eu uso exclusivamente no meu Mac e depois uso a tela nos servidores que eu administro.
I solved this problem by moving all the contents of ~/.bash_profile to ~/.bashrc. Apparently screen invokes ~/.bashrc before each window. – Nadal May 6 '10 at 21:22
Este comentário é a resposta certa.
Tags command-line gnu-screen macos