1作者: ultramann4 个月前原帖
我所在的初创公司有一个基于 Bash 的内部命令行界面(CLI),基本上相当于共享别名和一个共同的入口点。随着别名数量的增加,我希望能够将功能分组到子命令中,添加更多帮助信息,并实现更好的自动补全。我知道可以将其转换为例如 Python 脚本,但我很好奇如果继续使用 Bash,会有什么可能性。 我没有找到任何能够解决这些问题的方案,而不需要大量额外的工具。我理解原因,Shell 脚本通常不长,且专注于特定任务;为它们添加 CLI 功能大多是不必要的,许多人甚至出于多种合理的原因会对此持反对态度。 尽管如此,我考虑过自己编写这些功能,但这感觉像是在浪费公司的时间。因此,我开始尝试构建一个完全在 Shell 脚本中处理这些问题的框架。于是,Shifu 应运而生。我已经断断续续地在这个项目上工作了大约一年,认为我已经有了一个合理的 alpha 版本,所以想与大家分享。