Estou usando o z Shell ( zsh
) em vez do bash padrão, e algo errado acontece para que todos os comandos que costumavam trabalhar não sejam mais reconhecidos:
ls
zsh: command not found: ls
open -e .zshrc
zsh: correct 'open' to '_open' [nyae]?
Não sei como redefinir zsh
ou corrigir isso. Aqui está o conteúdo da $PATH
variável:
echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate
Não consigo abrir o .bash_profile
arquivo nem o .zshrc
arquivo, parece que a única solução é redefinir o arquivo zsh
. Alguma ideia?
EDITAR:
Eu até tentei redefinir zsh
como indicado neste tópico , mas sempre recebia command not found
erro:
exec zsh
zsh: command not found: zsh
então o que está acontecendo? por que todos os comandos estão perdidos?
No seu arquivo de configuração ~ / .zsh, inclua o caminho para o arquivo do caminho do bash que contém seus aliases. No meu caso, estava incluindo a linha "source ~ / .bash_profile" dentro de ~ / .zsh.
fonte
~/.zsh
arquivo. Em vez disso, tive que colocá-lo/etc/zshrc
.Use um bom editor de texto como o VS Code e abra seu
.zshrc
arquivo (deve estar no seu diretório pessoal. Se você não o vir, clique com o botão direito do mouse na pasta ao abrir e escolha a opção 'mostrar arquivos ocultos') .encontre onde afirma:
export PATH=a-bunch-of-paths-separated-by-colons:
insira isso no final da linha, antes da citação final:
:$HOME/.local/bin
E deve funcionar para você.
Você pode testar se isso funcionará primeiro digitando-o no seu terminal:
export PATH=$HOME/.local/bin:$PATH
Se o erro desaparecer após você digitar isso no terminal e seu terminal funcionar normalmente, a solução acima funcionará. Caso contrário, você terá que encontrar a pasta onde está localizado o erro de referência (a coisa não encontrada) e substituir o CAMINHO acima pelo CAMINHO PARA A PASTA.
fonte
PATH
configuração. No bash, eu estava acostumado a prefixar diretórios dentro da minha pasta pessoal com~
. Então, para o zsh, eu deveria estar usando a$HOME
variável, como no seu exemplo.Você pode criar um link simbólico em / usr / local / bin /
fonte
$HOME
e fornecendo um caminho relativo. Usando o caminho completo com$HOME
corrigido o meu problema.$PATH
é melhor nesse caso de uso.Para mim, apenas reiniciar meu terminal parecia corrigir o problema.
fonte
Corrigi o problema abrindo a guia geral de preferências do terminal e alterando o comando (caminho completo)
/bin/bash
para o padrão e editando o~/.zshrc
arquivo.... sem nenhum espaço em branco entre
PATH="
e salve o arquivo.Depois de salvar o arquivo, altere o
/bin/zsh
comando ou selecione padrão... e reinicie o terminal e você deve ter seu shell zsh funcionando novamente!
fonte
Se você gosta de mim, terá dois aplicativos de terminal, um é o terminal padrão com bash como shell padrão e outro iTerm 2 com zsh como shell. Para ter os comandos e o zsh no iTerm 2 a partir do bash, faça o seguinte:
No iTerm 2, vá para preferências (ou comando). Em seguida, vá para a guia perfil e desça para o comando . Como você pode ver na figura abaixo, você precisa selecionar a opção de comando e colar o caminho do zsh shell (para encontrar o caminho, é possível
which zsh
).Nesse ponto, você terá o zsh como seu shell padrão SOMENTE para o iTerm 2 e o bash como o shell padrão global no aplicativo de terminal Mac padrão. Em seguida, ainda estamos perdendo os comandos do bash no zsh. Portanto, para fazer isso, você precisa ir ao seu bash (onde seus comandos estão funcionando) e obter a variável PATH do env (use este comando para fazer isso
env | grep PATH
:).Depois disso, acesse o iTerm 2 e cole o seu caminho na opção "enviar texto no início".
Basta reabrir o iTerm 2 e pronto!
fonte
Minha solução:
Mude novamente para
bash
:Próximo:
copie isso:
voltar para
zsh
:aberto
.zshrc
:e cole:
reiniciar o terminal
fonte
No meu caso, foi por engano que o código comentado não foi comentado na primeira linha.
O hash foi removido. Depois de adicioná-lo, funcionou bem.
Acabei de publicar isso aqui para que alguém possa achar isso útil. Porque é apenas o começo da linha e pode ser excluído por engano, como eu havia feito. E parece que não há solução depois de tentar várias maneiras.
fonte
A melhor solução funciona para mim no caminho permanente da mudança
Abra o Finder-> vá para a pasta / Users / / usr / local / bin
abra .zshrc com TextEdit
.zshrc é um arquivo oculto, portanto, oculte-o pelo comando + shift +. pressione
excluir conteúdo e tipo de arquivo
exportar PATH = ~ / usr / bin: / bin: / usr / sbin: / sbin: $ PATH
e salve
agora
zsh: comando não encontrado
fonte
Reiniciar o terminal também fez o truque para mim.
fonte
Como já foi dito, basta reiniciar o terminal depois de fazer as alterações e redefinir as alterações feitas no seu arquivo ~ / .zshrc. Por exemplo, após adicionar a função para abrir o visual studio:
Consegui usar o código da palavra-chave para abrir o programa na linha de comando.
fonte
Uma maneira de editar o arquivo .zshrc sem fazê-lo através do iTerm2 ou do terminal nativo no macOS é usar um terminal em outro aplicativo. Por exemplo, usei o terminal como parte do VSCode e consegui encontrar e editar o arquivo.
fonte
Desinstale e reinstale o zsh funcionou para mim:
fonte