Quando vado in una cartella tramite cd
e poi premo tab
viene visualizzato un intero elenco di opzioni. Come posso rendere automatico il completamento automatico alla cartella?
Se vuoi vedere solo i binari nella cartella corrente, premi ./tab
(scheda barra dei punti).
Se vuoi vedere tutte le cartelle nella cartella corrente, premi cd tab
Nel tuo screenshot, premendo m tab
vengono visualizzati tutti i file binari che iniziano con m trovato nel percorso.
In tutti i casi, premendo una seconda volta la scheda mostrerà tutte le partite se ce ne sono più di una.
Stai cercando bash-completion
. Questo post descrive come ottenerlo (tl; dr - per un'installazione semplice avrai bisogno di un gestore di pacchetti come Homebrew o MacPorts) ad esempio:
brew install bash_completion
Con bash-completion
, digitando cd
e poi Tab i risultati ottenuti dovrebbero essere limitati alle cartelle.
Il bash-completion
out-of-the-box copre una vasta gamma di possibili completamenti, ma potrebbe essercene di più: controlla il gestore dei pacchetti. Ad esempio, su Homebrew prova questo:
brew search completions
Questo restituisce ulteriori completamenti per strumenti macOS come open
e launchctl
, strumenti di virtualizzazione come docker
e vagrant
, e molti altri.
Tu puoi creare i tuoi completamenti, ad esempio io uso questo per mostrarmi solo .png
file per uno script ( png2icns
) Ho hackerato insieme.
complete -f -X '!*.png' png2icns
Tuttavia questo non è davvero necessario per la maggior parte dei casi - bash-completion
coprirà tutti gli usi comuni.
Per completezza, devo menzionare che i fan della shell zsh
ti diranno senza dubbio che il supporto di zsh
per il completamento è di gran lunga superiore a bash
! Personalmente, bash
fa ciò di cui ho bisogno, anche se con un piccolo aiuto da brew
.
Leggi altre domande sui tag command-line bash terminal