从python脚本中获取bash自动完成功能

时间:2012-09-28 17:33:37

标签: python bash autocomplete

  

可能重复:
  Python argparse and bash completion

在bash提示符中(如在Ubuntu系统上),如果键入service然后选项卡几次,您将获得所有可用服务的列表。

有没有办法用python脚本做同样的事情?所以,如果你有一个名为music的脚本,就像这样:

def dumbstuff():
    #plays pop music...

def rockingstuff():
    #Plays music that will scare your mother...

在命令行中输入music,我希望看到输出的几个标签:

dumbstuff
rockingstuff

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

你可以这两种方式。第一种方法是创建一个bash完成脚本并在.bashrc文件中引用它。您可以在此处查看和示例:An Introduction to Programmable Completion

你可以采用的另一种方法是使用optcomplete库来进行python。您必须将其作为脚本的一部分包含在内。

您选择哪种方法取决于此应用程序仅供个人使用还是分发。