Ignorare una voce di percorso con bash scheda di completamento
-
19-09-2019 - |
Domanda
Ho due comandi, foo
e foo-bar
, dove foo
è un link simbolico a foo-bar
. Voglio essere in grado di digitare f
+ TAB (finta queste sono le uniche due comandi sul sentiero che iniziano con f
) e hanno uno di loro essere completato (che significa il nome completo e lo spazio dopo) .
Ciò che finisce accadendo però è che si compie a poco foo
(senza spazi) per foo-bar
. Non è, ovviamente, molto lavoro per poi basta premere la barra spaziatrice, ma questo interrompe il mio flusso.
Alcuni dettagli aggiuntivi:
-
foo
efoo-bar
sono nella stessa directory. - Eliminazione / movimento
foo
non è un'opzione (ho nascosto alcuni dettagli).
C'è un modo per ignorare una voce di percorso specifico?
Soluzione
È utilizzare FIGNORE, anche se ha alcune strane proprietà.
FIGNORE richiede un suffisso corretto. Quindi, per ignorare foo-bar, uno di questi funzionerà:
FIGNORE=bar
FIGNORE=-bar
FIGNORE=r
FIGNORE=oo-bar
La cosa di importazione è non per provare FIGNORE=foo-bar
dato che non è un suffisso corretto.
Altri suggerimenti
dare una prova:
FIGNORE=foo-bar