Я просто добавил следующий код с этой веб-страницы в мой .bash_profile
:
_foo()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--help --verbose --version"
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
complete -F _foo foo
foo --
расширяется до foo --help --verbose --version
при нажатии Meta-*
в Terminal.app.
$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
Copyright (C) 2007 Free Software Foundation, Inc.
Итак: я не могу воспроизвести с той же версией bash
на Mac OS X 10.6.7. Изменили ли вы свою среду после установки, например, установку сторонних Unix-материалов через Macports/Fink/Homebrew? Попробуйте использовать новую конфигурацию терминала, создав новую учетную запись пользователя.
Убедитесь, что вы действительно нажимаете Meta
- это настраивается в терминале. Если вы не установите эту опцию, нет Meta
:
Работают ли другие ярлыки Meta
из readline
?
Если это не сработает: поскольку 10.7.0 Lion еще не доступен в продаже, я предлагаю вам ожидать, что в предварительном выпуске программного обеспечения будут ошибки и сообщать о них на соответствующий сайт.