Di recente ho installato bash-completion(tramite homebrew). Ora omette i file nell'elenco di completamento che voglio che mostri e omette completamente le opzioni valide, come questa:
[alex@mbp foo]$ ls
bar.csv foo.csv
[alex@mbp foo]$ sh ../dosomething.sh fo<TAB>
((nothing shown))
Come utente pesante della riga di comando, questo è estremamente fastidioso. Qualcuno può dirmi come disabilitare questo comportamento? Non sono riuscito a trovare nulla di utile nella documentazione o in Google.
Le domande frequenti sul completamento della bash dicono:
D. Il codice di completamento bash impedisce ad alcuni comandi di essere completato su file con estensioni legittime nel mio ambiente. Devo disabilitare il completamento per quel comando per completare i file che devo fare?
R. No. Usa M- / per (nelle parole della pagina man di bash) tentare il completamento del nome del file sul testo a sinistra del cursore. Questo aggirerà eventuali restrizioni sul tipo di file messe in atto dal codice di completamento bash.
Ma questa non è una soluzione accettabile per me - voglio che "TAB" mostri tutti i file / directory indipendentemente dal fatto che l'estensione sia valida per il file o meno (è così che ha funzionato bene per me negli ultimi 20 anni).
Come posso raggiungere questo obiettivo?
Preferirei un'impostazione .bashrc/ .bash_profilerispetto all'eliminazione degli script di completamento globali. Ecco come al momento includo il bash-completamento (è solo un'installazione homebrew di serie):
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
Aggiornamento: ho visto il completamento di questa scheda nome file Bash ma non è esattamente quello che voglio, poiché richiede troppo lavoro manuale per ogni possibile estensione di file sulla terra / sul mio sistema.