foo=/path/to/some/file
cat $f[TAB]
如您所见,我可以通过按TAB自动完成变量$ foo。
在Ubuntu(11)下,行为不一样(我在我的bashrc中激活了'/ etc / bash_completion'。
这是有效的:
echo $f[TAB]
这个不起作用:
cat $f[TAB]
任何人都可以给我一个提示,如何让最后一个工作?
答案 0 :(得分:3)
您可以通过cat
删除/etc/bash_completion
为complete -r cat
提供的完成规范:
/etc/bash_completion
或者您可以查看修改complete -F _longopt -o filenames -o bashdefault cat
中提供的完成选项是否适用于您正在使用的Bash版本:
shopt -s direxpand
如果您使用的是Bash 4.2的最新修补版本,则有一个选项可能有所帮助(我还没试过):
{{1}}