Saya mencoba menerapkan penyelesaian bash khusus seperti yang dijelaskan di sini . Namun, tampaknya bahwa compgen
adalah case-sensitive . Apakah ada cara untuk mengubahnya tidak peka huruf besar-kecil dalam konteks itu?
Saya mencoba menerapkan penyelesaian bash khusus seperti yang dijelaskan di sini . Namun, tampaknya bahwa compgen
adalah case-sensitive . Apakah ada cara untuk mengubahnya tidak peka huruf besar-kecil dalam konteks itu?
Jawaban:
Saya akan memodifikasi contoh dari tautan yang Anda sebutkan menjadi sesuatu seperti ini:
_foo()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD],,}" # this downcases the result
prev="${COMP_WORDS[COMP_CWORD-1],,}" # here too
opts="--help --verbose --version"
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F _foo foo
Untuk info lebih lanjut, lihat dokumentasi bash atau situs peretas bash .
opts
semua huruf kecil. Jika ya--help --verbose --VERSION
, itu tidak akan pernah menyelesaikan kasus ketiga.