mac - completamento automatico di bash con nomi di file



homebrew bash completion (2)

Inseriscili in ~/.bashrc

_cmd() { COMPREPLY=($(ls /var/log/app)); }    
complete -F _cmd cmd

Per scrivere una funzione di completamento automatico completa,
per favore dare un'occhiata a /etc/bash_completion.d/python .

https://src-bin.com

Non riesco a ottenere una semplice funzione di autocompletamento di bash per funzionare. Ho bisogno di completare automaticamente i nomi dei file da una directory predefinita in modo che assomigli a questo:

$ cmd log<TAB><TAB>
file1.log file2.log file3.log   

Dove i file provengono da /var/log/app .


Answer #1

Non vedo il punto di usare ls quando la shell può elencare i file da solo, quindi ecco uno che usa solo la shell.

_cmd() {
    local files=("/var/log/app/$2"*)
    [[ -e ${files[0]} ]] && COMPREPLY=( "${files[@]##*/}" )
}
complete -F _cmd cmd




bash-completion