Intereting Posts
Как использовать переменную оболочки внутри команды sed? Некоторые клавиши недействительны на emacs при использовании немецкой клавиатуры Как заставить текстовую консоль Fedora 28 устанавливать под KVM, чтобы не запрашивать текстовый режим против VNC Можно ли вставить физический компакт-диск в машину VirtualBox? Монетный двор 17.1 – установка возвращается к Grub – UUI Установка Arch Linux с загрузкой UEFI и макета GPT Нечувствительные сообщения об ошибках для неудовлетворенных зависимостей в Debian Jessie Вербальное считывание регулярных выражений sed в квадратных скобках, звездочка вне скобок Как работает аппаратное обнаружение в Linux? Wget не конвертирует ссылки и загружается правильно? Установка виртуальной машины на виртуальной машине Что такое псевдотерминалы (pty / tty)? Создание списка воспроизведения Icecast с консоли Как отправить вывод ffmpeg в framebuffer? Есть ли приложение, которое записывает заметки с синхронизированным аудио?

compgen: игнорируя случай

Я пытаюсь выполнить собственное заполнение bash, как описано здесь . Однако, кажется, что compgen чувствителен к регистру . Есть ли способ превратить его без учета регистра в этом контексте?

Я бы изменил пример из ссылки, которую вы упомянули, примерно так:

 _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 

Для получения дополнительной информации обратитесь к документации по bash или сайту хакеров хакеров .