Utilizadores avançados de Mac que utilizam a linha de comando podem ocasionalmente encontrar uma mensagem de erro “comando não encontrado” ao tentar executar algo na linha de comando. O erro “comando não encontrado” no Terminal pode aparecer por várias razões na linha de comando do MacOS e Mac OS X, como discutiremos aqui, e é claro que ofereceremos soluções para esses problemas.
Por que você vê mensagens de erro “command not found” na linha de comando
As quatro razões mais comuns pelas quais você pode ver a mensagem “command not found” na linha de comando do Mac são as seguintes:
- a sintaxe do comando foi introduzida incorrectamente
- o comando que está a tentar executar não está instalado
- o comando foi apagado, ou, pior, o directório do sistema foi apagado ou modificado
- o $PATH dos utilizadores está incompleto, ou $PATH foi erroneamente definido, redefinido ou limpo – esta é a razão mais comum para ver uma mensagem ‘comando não encontrado’
Felizmente você pode resolver todos estes problemas e fazer com que o comum funcione novamente como esperado. Se você simplesmente inseriu a sintaxe errada, inseri-la corretamente resolve isso, fácil! Além disso, vamos começar com a razão mais comum, que é que os usuários $PATH não está configurado corretamente, ou foi resetado de alguma forma.
Fixar “Command Not Found” Mensagens do Terminal no Mac OS com $PATH Setting
A razão mais provável pela qual os usuários Mac podem inesperadamente ver o comando não encontrado mensagem na linha de comando é que algo correu mal com os usuários $PATH, ou o caminho onde o comando está localizado não está configurado. Pode verificar o $PATH com “echo $PATH” se lhe apetecer, caso contrário pode apenas executar os seguintes comandos para definir o caminho padrão que o Mac OS usa na linha de comandos:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Hit return e executar o seu comando novamente, deve funcionar bem.
Por falar nisso, mesmo que estejamos focando no Mac OS aqui, esta mesma idéia se aplica a outras variedades unix e linux também.
Note se o comando pretendido que você está tentando usar está localizado em um diretório não padrão ou em outro local (/usr/local/sbin/ etc), você sempre pode adicionar esse novo $PATH na linha de comando para especificar onde procurar, se necessário.
Antes, onde a mensagem “comando não encontrado” aparece executando comandos simples na linha ls e cd:
Depois, com esses comandos funcionando com sucesso como esperado:
Como é que isso acontece? Às vezes pode estar executando um comando $PATH de exportação incompleto ou incorreto, uma falha no ajuste das variáveis de ambiente, entre outras razões.
Você pode precisar atualizar a shell da linha de comando para que a alteração tenha efeito. Se você relançar o Terminal e obter o erro “command not found” novamente, então adicione os comandos $PATH de exportação aos usuários .bash_profile, .profile, ou perfil shell relevante se estiver usando um shell alternativo no aplicativo do Terminal.
“Command not found” porque o comando não está instalado? Use HomeBrew
Se o comando simplesmente não está instalado no Mac, para exemplos comuns como wget, htop, ou muitos outros comandos unix úteis disponíveis como pacotes Homebrew que não estão pré-instalados no Mac OS, então a solução mais simples é instalar e usar Homebrew no Mac para obter acesso a esses utilitários de linha de comando. Homebrew é uma ótima ferramenta de qualquer forma, então se você vai gastar tempo no Terminal você provavelmente vai querer isso.
“Command not found” porque falta um diretório do sistema? Restaure os ficheiros de sistema em falta
De vez em quando, os utilizadores de Mac podem encontrar-se numa situação em que, acidentalmente ou inadvertidamente, apagaram ficheiros de sistema do Mac OS. Normalmente isto acontece quando alguém está experimentando os comandos rm/srm e um wildcard, ou talvez eles se tornaram excessivamente zelosos com a lata de lixo quando logados como root. Em qualquer caso, você pode ler aqui como restaurar arquivos de sistema excluídos ou ausentes para o Mac OS e Mac OS X – isso geralmente envolve restaurar a partir de uma cópia de segurança ou reinstalar o próprio software do sistema.