GNU/Linux >> Linux Esercitazione >  >> Linux

Risoluzione dei problemi di errore "Bash:comando non trovato" in Linux

Questo tutorial per principianti mostra come correggere l'errore Bash:comando non trovato su Debian, Ubuntu e altre distribuzioni Linux.

Quando usi i comandi in Linux, ti aspetti di vedere un output. Ma a volte, incontrerai problemi in cui il terminale mostra l'errore "comando non trovato".

Non esiste una soluzione semplice e univoca a questo errore. Devi fare un po' di risoluzione dei problemi da solo.

Non è troppo difficile, onestamente. L'errore fornisce già qualche suggerimento quando dice "bash:comando non trovato". La tua shell (o il tuo sistema Linux) non riesce a trovare il comando che hai inserito.

Potrebbero esserci tre possibili ragioni per cui non riesce a trovare il comando:

  • È un errore di battitura e il nome del comando è scritto in modo errato
  • Il comando non è nemmeno installato
  • Il comando è fondamentalmente uno script eseguibile e la sua posizione non è nota

Andiamo nel dettaglio su ogni possibile causa principale.

Correzione dell'errore "bash:comando non trovato"

Metodo 1:ricontrolla il nome del comando (no, seriamente)

È umano commettere errori, specialmente durante la digitazione. È possibile che il comando immesso contenga un errore di battitura (errore di ortografia).

Dovresti prestare particolare attenzione a:

  • Il nome del comando corretto
  • Gli spazi tra il comando e le sue opzioni
  • L'uso di 1 (numero uno), I (i maiuscola) e l (L minuscola)
  • Utilizzo di caratteri maiuscoli e minuscoli

Dai un'occhiata all'esempio seguente, in cui ho sbagliato a scrivere il comando ls comune.

Quindi, assicurati due volte ciò che stai digitando.

Metodo 2:assicurati che il comando sia installato sul tuo sistema

Questo è un altro motivo comune alla base dell'errore comando non trovato. Non puoi eseguire un comando se non è già installato.

Sebbene la tua distribuzione Linux venga fornita con un numero enorme di comandi installati per impostazione predefinita, non è possibile preinstallare tutti gli strumenti della riga di comando in un sistema. Se il comando che stai tentando di eseguire non è un comando comune e popolare, dovrai prima installarlo.

Puoi utilizzare il gestore di pacchetti della tua distribuzione per installarlo.

In alcuni casi, i comandi più diffusi potrebbero essere interrotti e potresti anche non installarli più. Dovrai trovare un comando alternativo per ottenere il risultato.

Prendi l'esempio del comando ifconfig. Questo comando deprecato è stato utilizzato per ottenere l'indirizzo IP e altre informazioni sull'interfaccia di rete. I tutorial più vecchi sul Web menzionano ancora l'uso di questo comando ma non puoi più usarlo nelle versioni Linux più recenti. È stato sostituito dallo strumento IP.

Occasionalmente, il tuo sistema non troverà nemmeno i comandi estremamente comuni. Questo è spesso il caso quando si esegue una distribuzione Linux in contenitori Docker. Per ridurre le dimensioni dell'immagine del sistema operativo, i container spesso non includono nemmeno i comandi Linux più comuni.

Questo è il motivo per cui l'utente Docker si imbatte in cose come errore comando ping non trovato ecc.

Quindi, la soluzione è installare il comando mancante o trovare uno strumento che possa fare la stessa cosa che stavi cercando di fare con il comando mancante.

Metodo 3:assicurati che il comando sia reale, non un alias

Spero che tu sia a conoscenza del concetto di alias in Linux. Puoi configurare i tuoi comandi più brevi per sostituire la digitazione di un comando più lungo.

Alcune distribuzioni come Ubuntu forniscono automaticamente comandi come ll (che è alias di ls -l), la (che è alias di ls -a) e così via.

Immagina di essere abituato a digitare ll e la sul tuo sistema personale e di accedere a un altro sistema Linux e scoprire che il comando ll non esiste. Non puoi nemmeno installare il comando ll perché non è un comando reale.

Quindi, se non riesci a trovare un comando e non può nemmeno essere installato, dovresti provare a cercare su Internet se quel comando esiste. In caso contrario, probabilmente era un alias su qualche altro sistema.

Metodo 4:verifica se si tratta di uno script eseguibile con percorso corretto

Questo è un errore comune che fanno i principianti di Linux durante l'esecuzione di uno script di shell.

Anche se ti trovi nella stessa directory e provi a eseguire uno script eseguibile solo in base al suo nome, verrà visualizzato un errore.

[email protected]:~/scripts# sample
-bash: sample: command not found

Devi specificare esplicitamente l'interprete della shell o il suo percorso assoluto.

Se ti trovi in ​​un'altra directory e provi ad eseguire lo script della shell senza fornire il percorso corretto al file, si lamenterà di non aver trovato il file.

Aggiunta al PERCORSO

In alcuni casi, scarichi l'intero software in un file tar, lo estrai e trovi un file eseguibile insieme ad altri file di programma. Per eseguire il programma, è necessario eseguire il file eseguibile.

Ma per questo, devi trovarti nella stessa directory o specificare l'intero percorso del file eseguibile. Questo è noioso.

Qui puoi usare la variabile PATH. Questa variabile ha una raccolta di directory e queste directory hanno i file binari (eseguibili) di vari comandi Linux. Quando esegui un comando, il tuo sistema Linux controlla le directory menzionate nella variabile PATH per cercare il file eseguibile di quel comando.

Puoi controllare la posizione del binario di un comando usando il which comando:

Se si desidera eseguire un file eseguibile o uno script da qualsiasi punto del sistema, è necessario aggiungere la posizione del file a questa variabile PATH.

La variabile PATH deve quindi essere aggiunta al file rc della shell in modo che le modifiche apportate alla variabile PATH siano permanenti.

Ottieni il succo qui. È importante che il tuo sistema Linux abbia la conoscenza della posizione dello script eseguibile. O dai il percorso durante l'esecuzione o aggiungi la sua posizione alla variabile PATH.

Ti è stato di aiuto?

Capisco che quando sei nuovo su Linux, le cose potrebbero essere travolgenti. Ma quando capisci la causa principale del problema, le tue conoscenze sono gradualmente migliorate.

In questo caso, non è possibile una soluzione semplice per l'errore "comando non trovato". Ti ho dato alcuni suggerimenti e indicazioni e questo dovrebbe aiutarti nella risoluzione dei problemi.

Se hai ancora dubbi o hai bisogno di aiuto, faccelo sapere nella sezione commenti.



Linux
  1. bash:netstat:comando non trovato.

  2. ln:comando non trovato

  3. Errore Linux:bash:rsync:comando non trovato

  4. bash sh - comando non trovato

  5. sshpass:comando non trovato errore

Comando yum-config-manager non trovato [fissare]

c_rehash :Errore comando non trovato – Soluzione

Comando non trovato in Bash risolto

If...else...if Statement (comando non trovato errore)?

bash - make comando non trovato

Comando wget non trovato sul server Linux