Menu Chiudi

Escludere i file nascosti dall’autocompletamento Bash

Questa piccola chicca per la serie “Comodamente Shell” mi è stata suggerita da questo post di Ross Burton, che ha chiesto ai lettori del suo blog come fare per escludere i file nascosti, ossia quelli che cominciano con un .punto, dal completamento Bash. Esempio:

$: less [TAB] [TAB]

Questo comando genera una lista veramente lunga di suggerimenti offerti dall’autocompletamento Bash: vengono semplicemente inseriti tutti i file e le directory presenti nella directory di lavoro corrente. Così:

less.png

Mi sono stati restituiti circa 150 risultati! La maggior parte dei quali totalmente inutili. Per ovviare a questo piccolo problema basta mettere mano al file /etc/inputrc con un editor qualsiasi e aggiungere questa semplice riga:

set match-hidden-files off

Al prossimo avvio della shell questo valore sarà già effettivo e la differenza sarà evidente, l’autocompletamento offre solo suggerimenti di file non nascosti, a meno che non siamo noi a volerli esplicitamente, nel qual caso basta mettere un punto prima di dare il tasto TAB. Ecco come si presentano i suggerimenti “ripuliti” dai file nascosti:

less2.png

Come potete notare adesso l’output è molto più leggibile e “comodo” da usare, senza tutti quei file nascosti che sono quasi sempre inutili (sono generalmente file di configurazione).

Buon occultamento!

10 commenti

  1. Berna

    Mitico!!!Peccato che questa chicca, come tante altre, le scopra molto spesso solo per caso…

  2. Salvatore Di Fazio

    Avanzo una richiesta.
    Come fare una find dove non vengano dati come risultati le directory inaccessibili?
    Visto che siamo in tema di ottimizzazioni :)

  3. ao2

    Felipe, aggiungo giusto che quella riga puo’ essere aggiunta alternativamente anche in $HOME/.inputrc io preferisco questa via.
    Inoltre in inputrc si possono configurare tante altre belle cosette:

    Completamento alla _singola_ pressione del TAB:
    ‘TAB: complete’

    completamento sull’history dei comandi con PgUp e PgDown:
    “\e[5~”: history-search-backward
    “\e[6~”: history-search-forward

    E tanto altro (man 3 readline).

    Ciao ciao,
    Antonio

  4. ao2

    Sorry :)
    La prossima volta studiero’ meglio pollycoke.

    Ah, i tag o non sono contentiti nei commenti?

    Ciao ciao,
    Antonio

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo:
Vai alla barra degli strumenti