Estou tentando passar do Bash para zsh.
Coloquei meu .bashrc diretamente em meu .zshrc e isso causou muitos erros quando tentei usar o Bash novamente.
Como você pode exportar seu .bashrc para .zshrc?
Estou tentando passar do Bash para zsh.
Coloquei meu .bashrc diretamente em meu .zshrc e isso causou muitos erros quando tentei usar o Bash novamente.
Como você pode exportar seu .bashrc para .zshrc?
Respostas:
Embora a resposta de lhunath tenha me empurrado na direção certa, zsh não parece se originar .profileautomaticamente. Muitas informações boas sobre este tópico podem ser encontradas nesta postagem do superusuário .
A adaptação que estou usando é colocar aliases e funções comuns .profilee obtê-los manualmente da seguinte maneira:
Em ~/.bashrc:
source ~/.profile
Em ~/.zshrc:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulateé um comando zsh embutido. Com um único argumento, configure as opções zsh para emular o shell especificado tanto quanto possível.
Você não pode " exportar " seu .bashrcpara a .zshrc. .bashrcé um arquivo que executa bashcomandos. .zshrcé um arquivo que executa zshcomandos.
Você não pode esperar zshpara ser capaz de executar os bashcomandos em seu .bashrc, então você deve convertê-lo em um novo .zshrcem vez de tentar executar .bashrca partir .zshrcou copiar o anterior para o último.
Se você deseja um arquivo de inicialização de shell comum para todos os seus shells; usar .profile(e remover .bashrce .zshrc). É fornecido por todos os shells POSIX. E aí, atenha-se apenas aos recursos do shell POSIX . Então esse código será executado em qualquer shell POSIX. (Porém, não estou 100% certo de que zshseja compatível com POSIX).
Vejo: http://mywiki.wooledge.org/DotFiles .
Embora - e eu tenha interpretado mal esta parte da sua pergunta - você não deve ter erros bashao executar o seu, a .bashrcmenos que coloque zshcomandos lá. Você fez? Que erros você está recebendo? Parece-me que você adicionou zshcódigo ao seu .bashrce bash(obviamente) não entende.
Como um aparte, ojblasstenta fazer questão de portabilidade que só funciona parcialmente. zshé um ótimo shell (embora eu não tenha tido as honras), mas ao escrever scripts; Eu recomendo que você faça isso com #!/usr/bin/env bash. Principalmente apenas para você (e, eventualmente, as pessoas que você compartilha com elas), por questão de portabilidade.