Completamento bash: mostra sempre tutti i file


2

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.


Perché hai bisogno di bash-completamento se vuoi vedere tutti i file?
Choroba,

bash-completamento fa molto di più che mostrare semplicemente tutti i file, ad esempio espandendo le opzioni della riga di comando per strumenti noti o mostrando possibili host remoti per ssh ecc., che non hanno nulla a che fare con i file locali.
Alexander Langer,

Ho dato un'occhiata agli script di completamento bash in passato. Mi fanno male alla testa. Ma, se sei abbastanza motivato, puoi trovare informazioni su unix.stackexchange.com/questions/1800/… unix.stackexchange.com/questions/4738/… askubuntu.com/questions/68175/…
Joe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.