Це питання досить схоже на це , але я не можу зрозуміти рішення. Я також знаю цей підручник , але все-таки я не в змозі зрозуміти, що я роблю неправильно.
Я намагаюся заповнити список каталогів, розміщених у /something/
:
$ ls /something/
One Other Three
таким чином, що це станеться:
$ hi [TAB]
One Other Three
$ hi O[TAB]
One Other
Тільки тоді, коли перше слово є, hi
і не тільки всередині /something/
.
Це те, що я роблю .profile
:
_codeComplete()
{
local cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $(compgen `ls /something/` -- $cur) )
}
complete -F _codeComplete "hi "