带有空格和标点符号的字符串的Bash完成

时间:2012-06-17 09:45:19

标签: bash whitespace punctuation bash-completion

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

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

1 个答案:

答案 0 :(得分:0)

有一个变量COMP_WORDBREAKS,用于定义哪些字符被视为单词的分隔符。调整此变量可以尝试实现您想要的效果。

来自bash(1):

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