Sei seduto al terminale ed hai appena digitato un lungo e complesso comando. Premi Invio.
ERRORE.
La rabbia ti assale.
Situazione familiare? Bene, la vera arte dello smanettone non è digitare correttamente al primo colpo, bensì far sembrare di riuscirci, sfruttando la cronologia di Bash e confondendo, quando opportuno, eventuali spettatori.
Senza pretendere di scrivere una guida definitiva ed implorando il perdono dei veri maghi della tastiera, ecco qualche suggerimento ricavato da (ahimè) qualche anno di esperienza.
Livello base: le freccette
Quanto segue è per i principianti che hanno ancora la dignità di usare una tastiera fisica.
- il richiamo (↑): hai appena digitato
cd /usr/bin/pippo/plutoed hai dimenticato/local/nel mezzo. Non ridigitarlo! Premi 'freccia su'. Il comando riappare (!). Premi ancora per riesumare ulteriori errori imbarazzanti; - il richiamo eccessivo (↓): sei andato troppo indietro ed hai trovato un comando del 1973. Premi 'freccia giù' per tornare alla realtà e non affrontare il tuo passato.
(si, lo so, tutto questo è imbarazzante... ma si deve pur cominciare)
Livello intermedio: l'investigatore di basso rango (Ctrl+R)
Ti ricordi solo una vaga parola chiave del tuo comando.
Premi Ctrl R. Compare un enigmatico (reverse-i-search).
Inizia a digitare, diciamo che vuoi trovare un vecchio comando git. Digiti "gi" e Bash ti mostra la corrispondenza più recente.
Non è quella giusta? Continua a premere Ctrl R.
È come cambiare senza posa il canale TV: scorri velocemente tra la programmazione della tua cronologia finché non trovi il tuo vecchio film preferito. In realtà trovi solo git push --force che non avresti mai dovuto usare.
Individuato quanto cercavi, premi Invio per eseguirlo di nuovo (possibilmente, prima, correggendolo).
Livello pro: sapersi affermare (!)
Se vuoi dimostrare di essere un vero hacker della shell, devi padroneggiare il carattere più prepotente di tutti: il pungolo esclamativo ! (no, questa volta nessun rimando a Wikipedia :-).
| Sequenza | Obiettivo |
|---|---|
!! | Ripete l'ultimo, comando. Perfetto per una situazione tipo sudo !! quando avevi scordato di non poter far qualcosa senza il permesso. |
!n | Richiama il comando numero n nella cronologia (server un history preliminare perché nessun essere umano normale ricorda questi numeri). |
!git | Rifai l'ultima cosa che ho fatto con git (utile per "incasinare" un repository già sull'orlo del collasso). |
!$ | Dammi solo l'ultimo ARGOMENTO usato (scorciatoia: ESC + .). Perfetto se hai appena copiato un file su /usr/local/bin/il-file-con-il-nome-impossibile ed ora vuoi semplicemente farci un ls. |
Livello finale: analisi post mortem
fc (fix command) apre l'ultimo comando (od uno specifico) nel tuo editor di testo predefinito (speriamo non sia vi/vim, altrimenti rischi di rimanerci intrappolato per l'eternità senza ricordare l'arcana sequenza per uscire).A questo punto puoi modificarlo in modo esteso prima di eseguirlo.
Una importante nota a margine: se hai aperto il comando nell'editor e ti rendi conto che la sua eventuale esecuzione scatenerà l'Apocalisse, NON uscire come se nulla fosse!
Vai all'inizio della riga ed aggiungi il sacro sigillo del non-comando (`#`). Ora (stai sereno) puoi salvare ed uscire senza... evocare i Cavalieri.

