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".
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"
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
.
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.
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
.
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.
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.
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.
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
:
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
.
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.
Via itsfoss.com. Você pode conferir o post original em inglês:
Troubleshooting “Bash: Command Not Found” Error in LinuxÚltima atualização deste artigo: 28 de september de 2021