Come abilitare il completamento automatico 'avanzato'

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Il completamento automatico (o autocompletamento) è una feature molto condoda e potente che permette di completare l'immissione di un comando, di un path, delle opzioni di un comando o del nome di un file attraverso la pressione del tasto [TAB].
Questo consente di velocizzare la digitazione da tastiera e, contemporaneamente, di evitare errori di battitura.

L'autocompletamento si applica alla shell Bash.

Come funziona

Vi sarete chiesti, ad esempio, come abilitare quella interessante feature quando date un comando tipo:

# apt-get install kde

e premete il tasto [TAB] 2 volte, viene mostrata una lista di tutti i pacchetti inizianti con kde!

La singola pressione del tasto [TAB] 'autocompleta' l'input nel caso ci fosse un solo modo per completare l'immissione.
La doppia pressione del tasto [TAB] mostrerà, invece, una lista dei possibili modi per completare l'input nel caso questi fossero più di uno.

Installazione

È sufficiente installare il pacchetto appropriato:

# aptitude install bash-completion

Tipicamente questo pacchetto viene installato di default sul proprio sistema.

Utilizzo

L'autocompletamento è automaticamente abilitato per tutti gli utenti di login del sistema con la sola eccezione di root.
Per abilitare il completamento automatico anche per root è sufficiente decommentare le righe in modo che risulti:

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

nel file /etc/bash.bashrc. Questa modifica avrà effetto per tutti gli utenti di sistema.
Sarà necessario eseguire un:

# . /etc/bash.bashrc

oppure chiudere e riaprire il proprio emulatore di terminale per rendere effettive le modifiche.

Se si vuole che l'autocompletamento sia disponibile solo per alcuni utenti (compreso root), bisogna fare in modo che ciascuno di loro abbia nel proprio file ~/.bashrc le righe sopra riportate.
Per rendere effettive le modifiche al file bisogna eseguire:

. ~/.bashrc

oppure effettuare un logout/login se si utilizza il terminale o, se si sta utilizzando un emulatore di terminale, chiudere e riaprire il programma.

Oltre al completamento riportato come esempio ne aggiunge degli altri...ad esempio, con il comando tar, verranno mostrati i file con estensioni tipiche di file tar (.tar.bz2, .tar.gz, .tgz), verranno completate le opzioni di apt-get (apt-get ins[tab] produrrà apt-get install) e molte altre cose ancora.

Se volete scoprirle tutte, analizzate il file /etc/bash_completion!

Non è nemmeno difficile crearne delle proprie personalizzate, magari per i programmi utilizzati frequentemente!




Guida scritta da: MaXeR   Debianized 60%
Estesa da:
Verificata da:
S3v 02:46, 19 ott 2012 (CEST)
HAL 9000 21:59, 22 giu 2014 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized