0

我想做一个单元测试来测试bash自动完成脚本是否正确地扩展了某个字符串(假设光标在末尾)。

(我认为)我希望能够输入一个字符串并捕获COMPREPLY.

例如,假设我想在我把git b<TAB><TAB>它放在 offer 时测试它bisect blame branch bundle。如何从 bash 函数中获取该输出?

如果这令人困惑,我希望能够执行以下操作:

output=$(get_compreply "git b")
echo "$output"
> bisect   blame    branch   bundle
4

2 回答 2

1

给你:

compgen -c YOUR_INPUT_BEFORE_TAB

于 2012-08-01T09:36:17.443 回答
1

首先,您是否定义了完成git?(运行的输出是complete -p什么?)

此页面描述了构建 compspecs: http: //www.debian-administration.org/article/An_introduction_to_bash_completion_part_2

这是一个简化的示例:-

$ output=$(compgen -W "bisect blame branch bundle" b)
$ echo $output
bisect blame branch bundle
于 2012-08-01T10:58:14.497 回答