Завершение Bash для строк с пробелами и пунктуацией
Я пытаюсь написать функцию завершения bash, которая работает для строк, содержащих пробелы и знаки препинания, даже там могут быть кавычки.
Я извлекаю эти строки с sed
из файлов и, таким образом, иметь их в виде нескольких строк текста, где каждая содержит целевую строку для завершения. Тем не менее, все способы, которыми я пытался передать это compgen -W
Я всегда получаю завершение только для отдельных слов.
1 ответ
Есть переменная COMP_WORDBREAKS
это определяет, какие символы рассматриваются как разделители слов. Настраивая эту переменную, вы можете попытаться добиться того, чего хотите.
Из Баш (1):
COMP_WORDBREAKS - набор символов, которые библиотека Readline рассматривает как разделители слов при выполнении завершения слова. Если COMP_WORDBREAKS не установлен, он теряет свои специальные свойства, даже если он впоследствии сбрасывается.