我在 Ubuntu 10.04 上,在反引号内使用 bash 补全时遇到了一点小问题。下面是一个例子来说明:
我将电台的流媒体 URL 保存在文本文件中,然后我通常通过输入以下内容来开始收听
$ mplayer `cat ~/stations/some.fm`
如果我可以在以下情况下使用制表符补全功能,那就太好了:
$ mplayer `cat ~/stations/<tab>
但是,在这种情况下,Tab 补全似乎不匹配文件,只匹配目录。所以我得到
$ mplayer `cat ~/stations/<tab>
subdir1 subdir2
$ mplayer `cat ~/stations/
但没有文件!解决方法是使用
$ cat ~/stations/some.fm | xargs mplayer
在这种情况下,制表符补全可以工作,但我更喜欢使用反引号版本。这不仅适用于这个示例,而且在许多其他情况下也困扰着我。
这里有人知道如何修复这个问题/过滤器在哪里定义?
答案1
使用:
$ mplayer $(cat ~/stations/<tab>
相反,它做同样的事情。