Mandrake Linux 8.1: Manuale di riferimento | ||
---|---|---|
Indietro | Capitolo 3. Introduzione alla linea di comando | Avanti |
Il completamento automatico è una funzione utilissima che tutte le shells moderne (inclusa la bash) possiedono. Il suo ruolo è di fare in modo che gli utenti debbano scrivere il meno possibile. Il modo migliore per illustrare la funzione di completamento automatico è fare un esempio.
Immaginate che la vostra directory personale contenga un file il cui nome è file_dal_nome_troppo_lungo_per_digitarlo, e che vogliate leggerlo. Supponiamo che nella vostra directory ci sia anche un file chiamato file_text. Vi trovate nella vostra directory personale, e digitate questo comando:
$ less fi<TAB> |
(ovvero digitate less fi e poi premete il tasto TAB). La shell a questo punto completerà la linea di comando per voi:)
$ less file_ |
e vi darà anche l'elenco delle scelte possibili (nella sua configurazione predefinita, che potreste modificare). Quindi digitate questa sequenza di caratteri:
less file_w<TAB> |
e la shell completerà la vostra linea di comando in questo modo:
less file_dal_nome_troppo_lungo_per_digitarlo |
A questo punto vi basterà premere Invio per confermare e leggere il file.
Il tasto TAB non è il solo modo di attivare il completamento, anche se è il più utilizzato. In linea di massima, la parola da completare sarà il nome di un comando se è la prima parola della linea di comando (nsl<TAB> verrà espanso in nslookup), e un nome di file per le altre parole, a meno che la parola non sia preceduta da un carattere "magico" da scegliere tra ~, @ o $; in questo caso, la shell cercherà di completare la parola assumendo che sia, rispettivamente, il nome di un utente, il nome di una macchina o di una variabile di ambiente [1]. Esiste anche un carattere magico per completare il nome di un comando (!) o il nome di un file (/).
Gli altri due modi per attivare il completamento sono le sequenze Esc-<x> e Ctrl+x <x> (Esc è il tasto Escape, e Ctrl+x significa Control+<x>), dove <x> è uno dei caratteri magici menzionati in precedenza. Esc-<x> cercherà di eseguire il completamento in modo univoco, altrimenti completerà la parola con la sequenza di caratteri più lunga tra quelle possibili. Un beep indicherà che la scelta non è univoca, o semplicemente che non esiste una scelta corrispondente. La sequenza Ctrl+x <x> visualizza la lista delle possibili scelte senza tentare il completamento. Premere il tasto TAB, quindi, ha lo stesso effetto che premere in successione Esc-<x> e Ctrl+x <x>, dove il carattere magico dipende dal contesto.
Come conseguenza, un sistema per visualizzare tutte le variabili di ambiente definite è digitare Ctrl+x $ su una linea vuota. Un altro esempio: se volete visualizzare la pagina di manuale del comando nslookup, potete digitare man nsl seguito da Esc-!, e la shell completerà automaticamente la linea di comando in man nslookup.
[1] | Ricordate: Unix fa differenza fra caratteri maiuscoli e minuscoli. La variabile di ambiente HOME e home non sono la stessa variabile. |
Indietro | Partenza | Avanti |
La redirezione e le pipe | Risali | Avviare e gestire i processi in background: il controllo dei job |