【发布时间】:2014-01-17 06:20:56
【问题描述】:
我正在运行 Ubuntu 13.10 和 fish 2.1.0。我想为自己编写一个 Python 脚本来从命令行执行一些任务。该脚本将需要命令行参数。
如何编写我的脚本,以便鱼可以请求并获取给定参数的可能值。潜在价值列表是动态的。也就是说,它将以编程方式确定(例如,与某些条件匹配的文件夹名称列表)。
我想要的最终结果是这样的:
user@machine ~> myprog argument=fol<TAB>
folder1 folder2 folder3
myprog 是我的脚本文件,argument 是参数名称,folder1 等是我脚本中某个函数生成的有效值。
这可能吗?如果可以,怎么做?
【问题讨论】:
-
你应该为你的脚本创建一个鱼自动完成功能 (stackoverflow.com/questions/16657803/…)
-
@furins 所以tab-completion只能通过编写额外的shell脚本来提供?没有办法提供鱼(和其他外壳)可以查询的接口以实时提取完成?
-
也许我正在寻找这个 bash-helper 的鱼等价物:pypi.python.org/pypi/argcomplete/0.6.5
-
请注意
argcomplete需要您启动一个名为activate-global-python-argcompletepypi.python.org/pypi/argcomplete/… 的bash 脚本才能工作(同样,如果您想复制这种方法,您必须编写一个shell 脚本) -
自我说明:另请参阅github.com/dbarnett/python-selfcompletion 和furius.ca/optcomplete,了解更多 Python 方面的尝试
标签: shell autocomplete tab-completion fish