命令行参数和选项的Bash完成

时间:2015-12-13 21:57:45

标签: bash command-line-interface

我正在为我的应用程序编写一个CLI,我想为用户提供选项和参数的bash完成。

API是以下myapp [-f file] argument,我想为选项-fargument提供完成。

我想知道如何区分以下两种情况:

  • myapp -f some_path<tab><tab>
  • myapp -f some_file <tab><tab>

在第一种情况下,用户仍在键入选项,他/她希望看到文件选项的候选者。在第二个他/她完成打字,并希望看到争论的候选人。

问题是在两种情况下os.Args的值都是相同的,我无法区分这两种情况。有没有办法访问调用字符串?

一种解决方案是在选项和参数之间使用--之类的分隔符,但我想知道在我走这条路之前是否有更清晰的解决方案。

0 个答案:

没有答案