Primeiro de tudo, estou no OSX10. Meu shell padrão é BASH, que eu configurei (através de .profile e .bashrc) para executar automaticamente o shell FISH quando eu abro meu emulador de terminal. Isso me permite configurar variáveis etc. no BASH antes de carregar o FISH.
Às vezes, no entanto, quero executar scripts que são escritos para o BASH, do meu shell FISH. Isso é necessário porque o FISH não é sintaticamente compatível com o BASH. Ao digitar 'bash' no meu FISH, o BASH que eu abro automaticamente abre outro FISH em cima de si mesmo, por causa do meu .profile / .bashrc. Isso torna tudo suspeito (trocadilho intencional), porque eu tenho que sair do topo do FISH para entrar no BASH no topo do segundo FISH.
Minha pergunta é: Eu sei que o BASH pode ser carregado como um shell de login (executando .profile) e um shell não-login (executando .bashrc). Seria possível adicionar um terceiro 'contexto', que eu posso configurar para carregar quando o BASH é executado de dentro do FISH? Isso resolveria o problema do double-FISH porque eu não conseguiria carregar o .bashrc ou o .profile.
Espero que você entenda a minha pergunta - obrigado antecipadamente por respostas!
chsh -s /usr/local/bin/fish
(ou onde quer que você tenha peixe instalado. Além disso, você pode precisar adicionar fish à lista de shells conhecidos em / etc / shells). Aprenda a configurar variáveis em peixes e pare de usar o bash como uma muleta.