Завершение Bash для строк с пробелами и пунктуацией

Я пытаюсь написать функцию завершения bash, которая работает для строк, содержащих пробелы и знаки препинания, даже там могут быть кавычки.

Я извлекаю эти строки с sed из файлов и, таким образом, иметь их в виде нескольких строк текста, где каждая содержит целевую строку для завершения. Тем не менее, все способы, которыми я пытался передать это compgen -WЯ всегда получаю завершение только для отдельных слов.

1 ответ

Есть переменная COMP_WORDBREAKS это определяет, какие символы рассматриваются как разделители слов. Настраивая эту переменную, вы можете попытаться добиться того, чего хотите.

Из Баш (1):

COMP_WORDBREAKS - набор символов, которые библиотека Readline рассматривает как разделители слов при выполнении завершения слова. Если COMP_WORDBREAKS не установлен, он теряет свои специальные свойства, даже если он впоследствии сбрасывается.

Другие вопросы по тегам