如何在我的路径上“获取”文件并让它完成选项卡?

时间:2016-08-06 06:43:58

标签: bash shell

我有一个我希望与source一起运行的shell脚本,它位于我的路径上,所以如果我开始输入名称并点击标签,它会自动填充......

foo.sh

但如果我试试这个......

source  foo (then hit the tab button)

它不会自动完成。它正在搜索我的工作目录,但没有搜索我的路径。反正有没有让它找到我路径中的文件?

我有bash版本3.2.57(1)-release

2 个答案:

答案 0 :(得分:2)

你可以将它放入你的bashrc:

complete -c source

-c代表命令名称,它将在PATH中有效搜索。但这要求文件是可执行的。您可以详细说明并编写自定义完成函数,该函数使用find来检索PATH中的所有shell脚本。

答案 1 :(得分:1)

您可以使用bash内置命令“complete,compgen,compopt”为“源”执行自定义完成。

链接 - > https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html