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