0

我正在尝试编写一个 bash 完成函数,该函数适用于包含空格和标点符号的字符串,甚至引号也可能在其中。

我从文件中提取这些字符串,sed因此将它们作为多行文本,其中每一行都包含一个用于完成的目标字符串。但是,我尝试将其传递给 的所有方式compgen -W,我总是只完成单个单词。

4

1 回答 1

0

有一个变量COMP_WORDBREAKS定义哪些字符被视为单词的分隔符。调整这个变量你可以尝试达到你想要的。

来自 bash(1):

COMP_WORDBREAKS — Readline 库在执行单词完成时将其视为单词分隔符的字符集。如果 COMP_WORDBREAKS 未设置,它将失去其特殊属性,即使它随后被重置。

于 2012-06-17T10:37:02.963 回答