Como instalar / reinstalar comandos no terminal Mac?

0

Eu sempre tenho problemas com o meu terminal porque o comando que estou tentando usar é "não encontrado". Então quando eu tento instalar esse comando eu tenho outro comando que também é "não encontrado" que eu preciso instalar. Além disso, sempre que eu obtenho algo como o sudo, ele funciona para aquela sessão, mas da próxima vez que eu abrir o terminal eu tenho que reinstalar os comandos. Se eu fizer

echo $PATH

Retorna

/opt/local/bin:/opt/local/sbin:’/usr/local/bin:??

Eu recebi uma solução temporária que funciona decentemente, mas eu tenho que refazer toda vez que eu abro o terminal, então se alguém puder me explicar como consertar isso permanentemente, seria ótimo. Eu sei que o echo $ PATH não deveria retornar isso.

    
por Tyler Bloom 15.09.2017 / 00:55

1 resposta

1

Você provavelmente não precisa desinstalar ou reinstalar nenhum comando, você provavelmente só precisa corrigir o que está causando a corrupção da sua variável PATH .

Para definir padrões razoáveis para a sessão atual do shell, digite:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Observe que isso só corrige a sessão atual do shell e a próxima janela do Terminal que você abrir retornará ao estado interrompido.

Para corrigir isso na próxima vez, você precisará descobrir onde ele está errado e consertá-lo.

No macOS moderno, o caminho de todo o sistema é configurado em /etc/paths e /etc/paths.d/* (esses são arquivos de configuração baseados em texto). Então, verifique primeiro e certifique-se de que estão sãos.

Além disso, há scripts de inicialização de shell em todo o sistema em /etc/ , como /etc/profile e /etc/bashrc , entre outros. É bastante comum definir ou adicionar ao seu PATH em scripts de inicialização do shell. Se você ou algum instalador, gerenciador de pacotes ou script de instalação os editou, talvez seja necessário ver o que ele fez e consertá-lo (ou seja, visualizar esses arquivos de script em um editor de texto e editá-los para corrigi-los se encontrar erros) . Quais deles você precisa verificar dependem de quais shells você está usando, como você está invocando e usando-os (ou seja, como shells de login, não-login interativo ou não-interativo), e quais arquivos de script de inicialização do shell existem precedência sobre os outros, então a presença de alguns arquivos pode fazer com que outros arquivos não sejam executados). Você precisará verificar as man pages dos shells que você está usando para detalhes sobre quais scripts de inicialização do shell eles executam em quais situações.

Em seguida, você precisa verificar seus próprios scripts de inicialização do shell em seu próprio diretório inicial. Novamente, quais scripts são executados dependendo de qual shell você usa, como está invocando, e quais arquivos de script existem, então você precisa verificar as páginas man. Você provavelmente precisará procurar ~/.profile e ~/.bashrc .

Uma última nota: Supondo que você copiou / colou o texto de saída, parece que ele contém uma aspas, o que sugere que um de seus scripts de inicialização do shell contém acidentalmente uma aspas. Tenha cuidado ao editar scripts de shell e outros formatos de arquivo baseados em texto legíveis por computador (código-fonte, HTML, CSS, JavaScript, JSON, XML, .plists, etc.) em processadores de texto / editores de texto GUI. Certifique-se de desativar todos os recursos de substituição de texto, como "aspas inteligentes" e "traços inteligentes", ou você acabará acidentalmente obtendo aspas curvas onde deseja uma cotação simples ou um traço em que deseja dois hífens. A maioria dos formatos legíveis por computador considera apenas aspas diretas como sendo sintaticamente significativas.

    
por 15.09.2017 / 01:05

Tags