No momento, quando abro um terminal no meu Mac, ele chama automaticamente:
source ~/.bash_profile
.
O que me preocupa, no entanto, é que meu shell não parece herdar parte do conteúdo de ~/.bashrc
ou ~/.profile
. Mas isso pode ser típico.
Eu tenho vários scripts para herdar usando source
ou .
; se eu colocar essas chamadas em ~/.bash_profile
, pode levar algum tempo para carregar uma nova janela de shell, às vezes 3 ou 4 segundos, e isso fica obsoleto. Eu imagino que há alguma maneira de obter esses scripts apenas uma vez e ter meu arquivo ~/.bash_profile
herdado de alguma forma.
Note que a origem de chamada ~ / .bashrc ou source ~ / .profile do meu ~ / .bash_profile não é o que eu quero fazer, e provavelmente também é uma má ideia. Não é o que eu quero fazer porque não resolve o problema de uma carga lenta para cada novo shell.
Adicionei algumas instruções de eco; toda vez que eu abro uma nova janela de terminal bash, isso é registrado:
starting to load /etc/profile
finished loading /etc/profile
starting to load bash_profile
finished loading bash_profile
isso faz sentido, mas o que é desanimador - eu realmente preciso carregá-los toda vez que um novo shell é aberto? Por que não pode fazer alguma herança sofisticada para que não tenhamos que recarregar tudo o tempo todo?
Eu criei um vídeo demonstrando o problema. Eu tenho 4 aplicativos de terminal que uso regularmente:
terminal.app # misbehaves
iterm2 # misbehaves
webstorm terminal emulator # misbehaves
vscode terminal emulator # behaves!
O VSCode realmente se comporta da maneira que eu desejaria. Eu estou supondo que ele faz isso carregando ~ / .bash_profile em um shell pai, e fazendo isso apenas uma vez, quando o vscode inicializa. Todas as janelas do terminal no aplicativo são, em seguida, subcamadas desse shell pai.
Espero que este vídeo torne o assunto claro:
link
Esta é uma questão legítima - a maioria dos aplicativos de terminal faz tudo errado, no entanto, milagrosamente, parece que o VSCode da Microsoft realmente faz tudo isso da maneira certa, veja esta questão:
link