的輸出我想作一個單元測試,測試的是一個bash腳本自動完成正確擴展某些字符串(假設光標在結尾)。得到bash的自動完成功能測試
(我認爲)我想是能夠輸入一個字符串,並捕捉COMPREPLY
輸出。
例如,假設我想測試,當我把git b<TAB><TAB>
它提供。我怎樣才能從bash函數中獲得輸出?
在這是混亂的情況下,我希望能夠做這樣的事情:
output=$(get_compreply "git b")
echo "$output"
> bisect blame branch bundle
另一個有用的技巧是把'設置-o xtrace'在完成功能。 – suvayu 2012-08-01 10:47:17
'compgen -c'給出了bash可以識別的命令列表(並且因此嘗試擴展到)。但是,我認爲這不會對所使用的特定完成實現提供任何有用的信息。 – scottkosty 2012-08-01 18:49:23