我正在使用complete
bash内置函数为python脚本启用任意自动完成。我设置了:
complete -C './script.py --compgen "$@"' ./script.py
这样,每当bash尝试自动完成时,它就会用一个标志--compgen
调用我的脚本,告诉我的脚本自动完成。这个很好用。你知道吗
但是,在某些情况下,我希望能够从script.py
中回到bash的默认行为。有没有办法告诉complete
它应该在不调用我的脚本的情况下重新运行并执行其默认操作?你知道吗
基本上,我希望在引用文件时避免重新实现文件名扩展。你知道吗
事实证明,从python脚本输出
compgen
的回退方法有一个缺点,即它是不可转移的。因此,如果用户尝试完成a/b/c d.txt
这样的文件名,命令行将从:至
在点击标签后。其他扩张也会破裂。内置的
complete
确实提供了一个回退,但是:它的作用是告诉complete首先尝试
-C
部分,如果该部分返回零匹配项,它将请求default completion,然后执行文件名解析等我发现,通过将空字符串作为建议返回,甚至可以强制complete不提供任何建议。这会阻止回退运行,但它也不会算作实际的建议来完成,因此它不会考虑空字符串。你知道吗
在Python代码中尝试以下操作:
相关问题 更多 >
编程相关推荐