Solucionando o erro "bash: comando não encontrado" no Linux

28 de setembro de 2021

Este tutorial para iniciantes mostra como corrigir o erro "bash: comando não encontrado" no Debian, Ubuntu e outras distribuições do Linux.

Quando você usa comandos no Linux, você espera ver uma saída. Mas às vezes, você encontrará problemas em que o terminal mostra erro de "comando não encontrado".

Bash comando não encontrado erro

Não há solução única e direta para este erro. Você tem que procurar um pouco pela solução de problemas por conta própria.

Não é muito difícil, honestamente. O erro dá alguma dica já quando diz "bash: comand não encontrado". Seu shell (ou sistema Linux) não pode encontrar o comando digitado.

Pode haver três razões possíveis por que ele não consiga encontrar o comando:

  • É um erro de digitação e o nome de comando está errado
  • O comando nem está instalado
  • O comando é basicamente um script executável e sua localização não é conhecida

Vamos detalhar em cada causa a raiz do problema.

Corrigindo o erro "bash: comando não encontrado"

Bash comando não encontrado erro 1

Método 1: Verifique novamente o nome do comando (sério)

É humano cometer erros, especialmente enquanto digita. É possível que o comando que você digitou tenha um erro de digitação (erro de ortografia).

Você deve prestar especialmente atenção:

  • Ao nome de comando correto
  • Aos espaços entre o comando e suas opções
  • Ao uso de 1 (numeral um), I (Capital I) e L (minúsculo L)
  • Ao uso de caracteres maiúsculos e minúsculos

Dê uma olhada no exemplo abaixo, onde eu propositalmente errei o comando ls.

Comando não encontrado erro

Então, confira o que você está digitando.

Método 2: Tenha certeza de que o comando esteja instalado em seu sistema

Este é outro motivo comum por trás do comando não ser encontrado. Você não pode executar um comando se não estiver instalado.

Embora sua distribuição Linux venha com um grande número de comandos instalados por padrão, não é possível prever todas as ferramentas de linha de comando em um sistema. Se o comando que você estiver tentando executar não é um comando popular e comum, você terá que instalá-lo primeiro.

Você pode usar o gerenciador de pacotes da sua distribuição para instalá-lo.

Comando não encontrou Debian

Você pode ter que instalar o comando ausente

Em alguns casos, comandos populares podem ser descontinuados e você pode nem conseguir instalá-lo mais. Você terá que encontrar um comando alternativo para atingir o resultado.

Veja por exemplo o comando ipconfig. Este comando foi depreciado e era usado para obter o endereço IP e outras informações da interface de rede. Tutoriais mais antigos na web ainda mencionam o uso deste comando, mas você não pode mais usá-lo em versões recentes do Linux. Foi substituído pela ferramenta ifconfig.

bash-command-not-found-error

Alguns comandos populares são descontinuados com o passar do tempo

Ocasionalmente, seu sistema não encontrará nem os comandos extremamente comuns. Isso é geralmente o caso quando você está executando uma distribuição Linux em contêineres Docker. Para reduzir o tamanho da imagem do sistema operacional, os contêineres geralmente não incluem nem mesmo os comandos Linux mais comuns.

É por isso que um usuário de Docker pode tropeçar em coisas como o comando ping não ser encontrado etc.

Ping Command não encontrou Ubuntu

Os Dockers têm apenas alguns comandos instalados

Portanto, a solução é instalar o comando ausente ou encontrar uma ferramenta que possa fazer a mesma coisa que você estava tentando fazer com o comando ausente.

Método 3: Verifique se é um script executável com o caminho correto

Este é um erro comum que usuários do Linux fazem enquanto executam um script de shell.

Mesmo se estiver no mesmo diretório e tentar executar um script executável apenas por seu nome, ele mostrará um erro.

root@debian-test:~/scripts# sample
-bash: sample: command not found

Você precisa especificar o intérprete de shell explicitamente ou seu caminho absoluto.

Comando de script de bash não encontrado erro

Se você estiver em algum outro diretório e tentar executar o script shell sem dar o caminho correto para o arquivo, ele vai reclamar de não encontrar o arquivo.

arquivo de script não encontrado erro

Adicionando-o ao caminho

Em alguns casos, você faz o download do software inteiro em um arquivo tar, extrai e encontra um arquivo executável junto com outros arquivos de programa. Para executar o programa, você precisa executar o arquivo binário.

Mas, para isso, você precisa estar no mesmo diretório ou especificar o caminho inteiro para o arquivo executável. Isso é cansativo.

Aqui, você pode usar a variável PATH. Esta variável possui uma coleção de diretórios e esses diretórios possuem os arquivos binários (executáveis) de vários comandos do Linux. Quando você executa um comando, seu sistema Linux verifica os diretórios mencionados na variável PATH para procurar o arquivo executável desse comando.

Você pode verificar a localização do binário de um comando usando o comando which:

Path location

Se você quiser executar um arquivo executável ou script de qualquer lugar do sistema, precisará adicionar a localização do arquivo a essa variável do PATH.

adicionando executável à variável de caminho Linux

A variável do PATH então precisa ser adicionada ao arquivo rc do shell para que as alterações feitas na variável PATH sejam permanente.

Você pegou a essência aqui. É importante que seu sistema Linux saiba sobre a localização do script executável. Ou você dá o caminho durante a execução ou adiciona sua localização à variável PATH.

Isso te ajudou?

Eu entendo que quando você é novo no Linux, as coisas podem ser assustadoras. Mas quando você entende a causa do problema, gradualmente melhora seu conhecimento.

Aqui, não há solução direta possível para o erro 'comando não encontrado'. Eu te dei algumas dicas e ponteiros e isso deve ajudá-lo na solução de problemas.

Se você ainda tiver dúvidas ou precisar de ajuda, por favor, deixe-me saber na seção de comentários.

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Abhishek Prakash e publicado no site itsfoss.com. Traduzido pela rtland.team

Troubleshooting “Bash: Command Not Found” Error in Linux

Propaganda
Blog Comments powered by Disqus.
Propaganda