Completamento shell dei comandi già lanciati

Data 1/12/2009 22:03:30 | Argomento: Linux


In questa piccola guida vedremo come modificare il file /etc/inputrc in modo da permetterci il completamento dei comandi già lanciati tramite shell (shell bash).

E' difficile spiegare a parole cosa permette effettivamente di fare questa modifica, ma vi assicuro che una volta capito il funzionamento, diventa una cosa indispensabile e permette di velocizzare notevolmente le nostre operazioni da shell.

Per farvi capire cosa permette di fare questa modifica, cerco di fare un esempio:
tutti i comandi che lanciamo da shell, vengono salvati nella cronologia.
quando vogliamo lanciare nuovamente un comando già lanciato in precedenza, premiamo 'freccia su' finchè non ritroviamo il comando.
con la modifica che apporteremo al file /etc/inputrc possiamo scrivere le prime lettere del comando, e premere PagSu o PagGiù per scorrere tra i comandi presenti nella cronologia che iniziano per i caratteri da noi digitati.

Spero che questo esempio abbia chiarito le idee.
Ora attiviamo questa comodissima funzione:

apriamo il file /etc/inputrc:
sudo kate /etc/inputrc



Controlliamo se sono presenti delle righe simili a queste:
Citazione:

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward


In Ubuntu/Kubuntu queste righe sono già presenti e basta decommentarle (non tutte, ma solo le ultime due), in questo modo:
Citazione:

# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward



Se non sono presenti, scriviamole direttamente all'interno del file.


Salviamo il file e chiudiamolo.
Riavviamo il terminale per far funzionare le modifiche appena apportate.



This article comes from www.NonSoloGuide.altervista.org
http://www.nonsologuide.altervista.org

Il link di questa guida e':
http://www.nonsologuide.altervista.org/modules/news/article.php?storyid=87