GNU/Linux >> Linux Esercitazione >  >> Linux

Come correggere errori e refusi nei precedenti comandi della console in Linux

Hai mai eseguito inconsapevolmente un comando con un errore di battitura? Bene, puoi semplicemente premere la freccia SU/GIÙ per visualizzare la cronologia dei comandi, trovare il comando errato e modificare l'errore di battitura e infine eseguirlo nuovamente. Questo è ciò che la maggior parte di noi fa di solito! Tuttavia, ci sono anche altri modi per correggere gli errori di battitura nei comandi inseriti in precedenza. In questo tutorial, vedremo tutti i modi possibili per correggere gli errori nei precedenti comandi della console in Linux e Unix.

Disclaimer:

Questo articolo contiene un NSFW (Non sicuro per il lavoro) e una parola insolita in alcuni posti. Anche se ho leggermente mascherato quella parola, non potevo evitarla del tutto. Dal momento che non c'è modo di escludere quella parola, per favore accetta le mie scuse in anticipo se questo post ti ha messo a disagio e se ti ho offeso in qualche modo.

1. Correggi gli errori nei comandi della console precedenti utilizzando l'app 'thef*ck'

L'utilità f*ck viene utilizzata per correggere errori e refusi nei comandi eseguiti in precedenza in Linux.

Hai eseguito un comando con un errore di battitura in fretta? Hai dimenticato di aggiungere sudo in un comando? Nessun problema! Questa applicazione mostrerà automaticamente i comandi corretti per il comando eseguito in precedenza!!

Puoi scegliere il comando corretto e premere INVIO per eseguirlo. Non è necessario navigare nella cronologia dei comandi per correggere manualmente l'errore di battitura in un comando!

Lo sviluppatore di questa applicazione si è ispirato a un tweet e ho realizzato questa fantastica applicazione. È scritto in linguaggio Python. È un'applicazione opensource e il suo codice è disponibile pubblicamente in GitHub.

1.1. Installazione

Possiamo installarlo utilizzando il PiP gestore di pacchetti o il gestore di pacchetti predefinito della distribuzione.

Assicurati di aver installato PiP .

Dopo aver installato PiP, esegui il seguente comando per installarlo come di seguito:

$ pip3 install --user thefuck

Verrà installata l'ultima versione disponibile.

È anche incluso in molte distribuzioni Linux e Unix, quindi puoi installarlo usando il gestore di pacchetti predefinito della tua distribuzione. Fare riferimento alla pagina GitHub del progetto (riportata alla fine) per sapere come installarlo utilizzando il gestore pacchetti del sistema operativo.

1.2. Configurazione

Si consiglia di aggiungere la seguente riga nel proprio .bash_profile , .bashrc , .zshrc o altro script di avvio.

$ nano ~/.bashrc

Aggiungi la seguente riga:

eval $(thefuck --alias fixthis)

Qui, ho usato 'fixthis' come alias. Puoi usare quello che vuoi come alias.

Premi Ctrl+o e INVIO per salvare il file e Ctrl+x per chiuderlo.

Esegui il comando seguente per aggiornare le modifiche:

$ source ~/.bashrc

1.3. Utilizzo

Il "fixthis" funziona in base a una serie di regole integrate. L'elenco completo delle regole abilitate è disponibile qui. Puoi anche creare le tue regole.

Quando si esegue un comando digitato in modo errato, tenterà di abbinare il comando precedente con una regola. Se viene trovata una corrispondenza, viene creato un nuovo comando utilizzando la regola abbinata ed eseguito.

Vediamo alcuni esempi.

Aggiornerò il mio sistema Manjaro usando il seguente comando come utente normale:

$ pacman -Syu

Risultato di esempio:

error: you cannot perform this operation unless you are root.

Come puoi vedere, il comando sopra mostra un errore di autorizzazione. Perché non ho aggiunto sudo davanti al comando.

Non c'è bisogno di aggiungere sudo ed eseguire nuovamente il comando. Tutto quello che devi fare è semplicemente eseguire il comando 'fixthis' come di seguito:

$ fixthis

Ora elencherà il suggerimento di comando valido per il comando eseguito in precedenza.

Se è quello che vuoi eseguire, premi semplicemente INVIO per eseguirlo. In caso contrario, premere le frecce SU/GIÙ per visualizzare altri comandi suggeriti.

Nel mio caso vado con il primo, che è il comando corretto, come mostrato nell'output di seguito.

sudo pacman -Syu [enter/↑/↓/ctrl+c]

Vedere? Se il comando precedente non è riuscito a causa di un errore di autorizzazione, l'app 'fixthis' anteporrà il comando con sudo ed eseguilo di nuovo. Bello, vero? Per interrompere l'esecuzione del comando, premi ctrl+c .

Allo stesso modo, se hai eseguito un comando errato, correggerà l'errore di ortografia ed eseguirà di nuovo il comando.

$ pithon

Risultato di esempio:

bash: pithon: command not found
$ fixthis
python3 [enter/↑/↓/ctrl+c]

Se vuoi correggere i comandi in modo ricorsivo fino al successo, puoi usare il -r opzione:

$ fixthis -r

Guarda lo screencast ufficiale di seguito realizzato dal suo sviluppatore per ulteriori esempi.

Nonostante sia super utile per correggere rapidamente errori di battitura ed errori nei comandi Linux, questa app ha il nome sensibile e inappropriato, quindi potresti non volerla usare in alcune situazioni.

Se ti senti a disagio durante l'esecuzione di questo comando in tali situazioni, puoi semplicemente creare un alias (ad esempio, per favore, correggilo) come mostrato nella sezione "Configurazione" sopra.

2. Correggi gli errori nei comandi usando Fix

La Correzione è un'altra fantastica utility che ci aiuta a correggere rapidamente errori o errori di battitura in un comando. Anche se la correzione fa lo stesso di thef*ck, differisce leggermente.

Thef*ck è forte nella sintassi mentre Fix è migliore quando l'aspetto semantico è importante. Thef*ck non può dirti quale pacchetto installare quando l'esecuzione di uno script non funziona.

L'utilità di correzione è concepita per essere utilizzata quando non si sa come risolverla da soli. Suggerisce alcune soluzioni per i comandi digitati o scritti in modo errato.

Utilizza Codice AI di OpenAI per suggerire tutte le soluzioni possibili per correggere gli errori nei comandi. Tutto quello che devi fare è semplicemente anteporre al comando "correggi" e l'IA ti suggerirà le soluzioni ottimali.

2.1. Installa Fix in Linux

Installare Fix è facile!

1. Innanzitutto, devi ottenere l'accesso all'API Codex di OpenAI .

2. E git clona il repository:

$ git clone https://github.com/tom-doerr/fix.git

Clonerà il contenuto del repository github del progetto in una cartella locale denominata 'fix '.

3. cd nella directory 'fix':

$ cd fix

4. Aggiungi main.py al tuo $PATH:

$ cp $PWD/main.py ~/.local/bin/fix

2.2. Utilizzo

Per correggere un comando digitato in modo errato, aggiungi semplicemente "correggi" davanti al comando come di seguito:

$ fix mkdir abc/def

Per correggere l'ultimo comando, fai semplicemente:

$ fix !!

L'IA genera per lo più soluzioni sbagliate, ma un numero sufficiente di soluzioni generate sta effettivamente funzionando perché sia ​​utile.

Ecco la demo visiva dell'applicazione Fix.

Lettura consigliata:

  • Diversi modi per ripetere l'ultimo comando in Linux

3. Correggi i comandi Bash con errori di ortografia con il simbolo del cursore

Questo trucco funzionerà solo su BASH.

Questo trucco è molto semplice. Sostituiamo semplicemente la parola digitata in modo errato con parola corretta utilizzando Punto di inserimento (^ ) simbolo.

Supponiamo che tu voglia creare una directory con 'mkdir ' comando. Ma ti sei perso il 'i ' nel comando e inserisci 'mkdr ' invece come sotto.

$ mkdr ostechnix
bash: mkdr: command not found

Per correggere l'errore di battitura nel comando precedente, possiamo semplicemente sostituire 'dr ' con 'dir ' con il simbolo del cursore come di seguito:

$ ^dr^dir^

Ora Bash lo interpreterà come 'mkdir ' ed eseguilo e visualizza l'output come mostrato di seguito.

mkdir ostechnix

4. Correggere gli errori di battitura quando si utilizza il comando cd

Spesso ho provato a digitare velocemente nella console e mi sono ritrovato con errori di battitura quando cd in una directory.

$ cd Pctures
bash: cd: Pctures: No such file or directory

Mi mancherà una parola o due durante la digitazione del nome della directory. Se sei come me, ecco come correggere automaticamente gli errori di battitura quando usi cd comando.

Per correggere questo fastidio, modifica ~/.bashrc file:

$ nano ~/.bashrc

Aggiungi la seguente riga alla fine:

shopt -s cdspell

Premi Ctrl+o e INVIO per salvare il file e Ctrl+x per chiuderlo.

Esegui il comando seguente per aggiornare le modifiche:

$ source ~/.bashrc

D'ora in poi, la tua shell riconoscerà automaticamente il percorso della directory corretto anche se è stato commesso un errore di battitura.

Questo trucco ha alcuni inconvenienti. Il caso e l'ordine sono importanti.

Ad esempio, se utilizzi 'pctures' invece di 'Pctures' , non riconoscerà il percorso. Qui, ho usato 'p' minuscolo per la directory 'Immagini' .

$ cd pctures
bash: cd: pctures: No such file or directory

Anche se utilizzi 'Pctrues' invece di 'Pctures' , non riconoscerà comunque il percorso della directory anche se utilizzi il caso corretto e si lamenta del fatto che non esiste tale file o directory.

$ cd Pctrues
bash: cd: Pctrues: No such file or directory

Qui, ho cambiato l'ordine delle lettere della directory "Immagini".

Inoltre, se manca più di una lettera nel percorso della directory, non funzionerà altrettanto bene.

Tieni presente che questo suggerimento è solo per 'cd ' comando. Inoltre, questo suggerimento è solo per Bash. In Fish e Zsh, questa funzionalità è integrata.

Bonus - Suggerisci l'installazione del pacchetto durante l'esecuzione di un comando mancante

Avresti dovuto notare che quando esegui un comando non disponibile, riceverai un messaggio di errore come quello di seguito:

bash: ....: command not found

Se sai quale pacchetto fornisce il comando mancante, puoi semplicemente installare quel pacchetto ed eseguire nuovamente il comando. Tuttavia, se non lo sai, potresti aver bisogno di un piccolo aiuto.

Per mitigare questo problema, esiste un pacchetto chiamato 'comando-non-trovato '. Ciò suggerirà un elenco di pacchetti da installare per utilizzare il comando non disponibile.

Cercherà automaticamente nei repository ufficiali, quando si immette un comando non riconosciuto o non disponibile. Per i dettagli, fare riferimento al seguente link.

  • Suggerisci l'installazione di pacchetti durante l'esecuzione di un comando non disponibile

Conclusione

Ecco qua! Questi sono alcuni modi per gestire gli errori di battitura e gli errori della riga di comando nei sistemi Linux e Unix. Puoi scegliere quello che fa per te o utilizzare una combinazione di due o più. Ad esempio, di tanto in tanto utilizzo sia 'Correggi' che 'f*ck' per correggere errori e refusi nei comandi della console.


Linux
  1. 10 usi sorprendenti e misteriosi di (!) Simbolo o operatore nei comandi Linux

  2. Come disabilitare i comandi di spegnimento e riavvio in Linux

  3. Comandi Linux - Panoramica ed esempi

  4. Come salvare i comandi Linux e usarli su richiesta

  5. Comandi Linux:job, bg e fg

Come eseguire automaticamente script e comandi di avvio di Linux

Come correggere facilmente i comandi Bash errati in Linux

Come eseguire più comandi Linux in un unico comando

Come installare e utilizzare il comando fd in Linux

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

Come scrivere ed eseguire un programma C in Linux