E come fa anche a completare automaticamente gli alias?
Risposta accettata:
A seconda del comando:
- Qualcuno potrebbe aver scritto una funzione per generare possibili completamenti di argomenti, incluse le opzioni. Troverai le funzioni per alcuni comandi in
/etc/bash_completion.d/*
(o una posizione diversa su alcuni sistemi). Queste funzioni sono registrate con ilcomplete
integrato (ad es.complete -F _find find
dice a bash di chiamare_find
funzione quando premi Tab su unfind
comando). Usano ilcompgen
built-in per dire a bash "ecco i possibili completamenti". - Per alcuni comandi, bash chiamerà il comando con l'argomento
--help
e analizzare l'output. Tali comandi possono essere registrati con ilcomplete
integrato, ad es.complete -F _longopt ls
._longopt
è in effetti una funzione di generazione del completamento, che capita di analizzare l'output di un comando piuttosto che utilizzare un elenco fisso. (Ci sono altre funzioni di completamento più specializzate che analizzano l'output di un comando per generare possibili completamenti; cerca in/etc/bash_completion.d/*
per esempi.) - Per cose come gli alias, la funzione di completamento li cerca nelle tabelle interne di bash. Il
complete
built-in ha opzioni per questo, ad es.-A
per gli alias.