Ripetizione veloce su linea di comando

di Luca Bove (PuntoWeb.Net Srl)

Quando volete ripetere un comando che avevate digitato prima, è sufficiente premere il tasto con la freccietta in su. In questa maniera accedete alla history dei comandi.
Se l'history dei comandi digitati è troppo lunga e/o vi ricordate le prime lettere del comando potete richiamarlo direttamente anteponendo ad esso il punto esclamativo.
Ad esempio se avete digitato il comando:

% ls -lR| grep fortune |sort +4n
per trovare i file "fortune" ordinati per grandezza e lo volete richiamare, è sufficiente dare il comando:

% !ls
oppure
% !l

Questa funzionalità é particolarmente utile quando si devono riscrivere comandi molto lunghi.
In pratica quando gli si passa qualcosa del tipo "!nome" la shell interpreta il comando "Esegui l'ultimo comando digitato, che si trova nella history, che inizia con nome".

Se poi il problema è la cattiva digitazione di un comando (sempre sulla linea di comando), è possibile correggere l'errore senza stare a riscriverlo.
Ad esempio se scriviamo il comando:

% ls -lR| grap fortune |sort +4n
con il comando '^ra^re' viene sostituita la stringa 'ra' con 're' e viene eseguito automaticamente il comando che ne risulta.

% ls -lR| grap fortune |sort +4n
bash: grap: command not found

% ^ra^re
ls -lR| grep fortune |sort +4n
./fortune-0.2/debian:
./fortune-0.2:
./fortune.it-1.51:
-rw-r--r-- 1 8044 users 429 Oct 26 1998 fortune.lsm
-rw-r--r-- 1 8044 users 514 Oct 24 1998 fortune.6
-rw-r--r-- 1 501 150 1733 Jan 9 1998 fortune.it-1.51.lsm
drwxr-xr-x 2 501 150 4096 Jan 9 1998 fortune.it-1.51
drwxr-xr-x 3 8044 users 4096 Jul 16 17:05 fortune-0.2
-rw-r--r-- 1 8044 users 5179 Oct 25 1998 fortune.c
-rwxr-xr-x 1 root root 10080 Jul 16 17:05 fortune


Per commentare e discutere l'articolo clicca qui

AUTORE DEL TESTO
Luca Bove (PuntoWeb.Net Srl)

Pubblicato il: 29/08/2001