我有一个我希望与source
一起运行的shell脚本,它位于我的路径上,所以如果我开始输入名称并点击标签,它会自动填充......
foo.sh
但如果我试试这个......
source foo (then hit the tab button)
它不会自动完成。它正在搜索我的工作目录,但没有搜索我的路径。反正有没有让它找到我路径中的文件?
我有bash版本3.2.57(1)-release
答案 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