bash 中的子命令

bash 中的子命令

我想在 bash 中创建一个 cli,允许用户能够获取我们平台上的数据库实例列表。我希望他们能够输入以下内容:

$ dbinv instances show --environment=all

同样,如果他们想要查看名为 db1 的特定实例的用户,他们可能会键入:

$ dbinv instances users show --environment=production --instance=db1

从 cli 的角度来看,我们将如何开发它?我应该研究或探索什么?

我应该考虑 Ruby 或 Python 之类的东西,而不是 bash 吗?

答案1

您也许能够使用全部 3 种语言。我建议看看 svn、hg、git、docker 是如何做到的。

他们将有一个包装命令:例如
dbinv
它将查看第一个参数,然后调用辅助脚本。例如
dbinv show arg1,会打电话«directory-containing-dbinv-commands»/dbinv-show arg1

这个包装器可以在 bash 中轻松完成。子命令可以用其他语言完成(使用#!脚本顶部的 来指定语言)。

要进行包装,请查找"$1""$@"shiftexec(不那么重要)。

相关内容