我正在编写一个包含某个 Linux 命令的脚本。现在,当我直接在命令行上使用该命令时,该命令具有一些自动完成行为。例如,如果我输入命令名称,然后输入空格,然后输入字符串并按 Tab 键 - 它会补全为路径上可执行文件的名称。然而,包装脚本似乎没有这种行为。如何让 bash 对我的包装器使用与原始命令相同的自动完成功能?
为了使事情更具体:命令是which
. 我正在编写一个调用它的包装器,如果它没有失败,则readlink -f
在which
. 我希望自动完成功能来查找路径上的可执行文件,就像which
.
which
您可以列出with的完成规范结果是
complete -c which
。因此,如果您在 PATH 中有自己的新命令mywhich
(可执行文件),那么您可以通过配置 bash 以相同的方式完成它你可以把这一行放入
~/.bash_completion