2013-05-25 90 views
3

还有就是在bash这样运行命令道:我需要单元测试的bash完成在这种情况下,有没有办法将Tab按钮传递给bash?

echo ls | bash 

,我curisous如果有办法的新闻传递给标签这种方式来获得命令完成,如下所示:

# This doesn't work, but I think you get the idea 
echo chromi$'\t' | bash 

这可能吗?或者,也许你可以建议另一种单元测试bash完成的方式吗?

回答

5

看看compgen,一个内置的命令可以让你生成完成匹配bash的相同方式。

$ compgen -c unam 
uname 

或者,-i以交互模式运行的bash。然后它将执行标签 -completion。

$ bash -i <<< $'unam\t' 
$ bash -i <<< $'unam\t' 
$ uname 
Darwin 
$ exit 
+0

谢谢'$庆典-i <<< $“墨西哥国立自治大学\ t''是正是我需要的。 – gvlasov

3
$ printf 'makeinf\t' | bash --norc -i 
[[email protected] ~]$ makeinfo 
[[email protected] ~]$ exit 

作品在这里。设置PS1,以及如果你不需要提示:

$ printf 'makeinf\t' | PS1='' bash --norc -i 
makeinfo 
exit 
相关问题