taeluf / bash.cli-framework
一个用于开发易于使用的命令行库的bash命令行框架
v0.1.x-dev
2022-12-24 17:22 UTC
Requires
- taeluf/code-scrawl: v0.8.x-dev
This package is auto-updated.
Last update: 2024-09-25 03:17:21 UTC
README
Bash Cli Library
一个用于构建Bash库的框架。最初在git-bent中开发,git-bent是一个优秀的git包装器。
注意
此库已准备好使用,但文档由于旧的开发依赖项而存在问题。
为什么使用这个而不是其他库?
- 易于开始使用
- 相当简洁
- 为您的库提供友好的帮助菜单
- 便利函数 - 请参阅 doc/Functions.md
- 您喜欢git-bent的工作方式,并希望有一个类似的库
示例
这是实际执行以使用./bash-cli setup设置新bash库的代码。step是我们内置的函数之一。
Cannot find 'core_setup' part of 'core_setup' on 'function'. You may try one of:
设置新库
- 将
cd到新库的根目录。 git clone @git(https_url) vendor/bash-cli./vendor/bash-cli/bash-cli setup new project- 按照提示操作。然后运行
source ~/.bashrc或重新启动您的终端。 - 查看您新库中的示例代码
- 运行
yourlib help或./bin/yourlib help - 编写一些函数并运行它们,以了解事物是如何工作的。
开发工具(可选,推荐)
我们使用code-scrawl,一个Php包,来生成帮助菜单和文档。您也可以手动编写帮助菜单。
要使用这些工具,我们需要PHP和Composer(PHP的流行包管理器)。PHP仅用于开发。您的bash库用户不需要PHP。
- howto/install-php
- howto/install-composer
cd vendor/bash-cli; composer install;- 安装Code Scrawl及其依赖项。cd ../..(回到项目根目录)然后运行vendor/bash-cli/bash-cli scrawl- 已重新生成帮助菜单以及文档
- 您可能需要编辑项目内的
.config/scrawl.json以符合您的喜好。 - 有关文档生成更多信息,请参阅php/code-scrawl。
联系
替代方案/竞争
- Bash-it:“Bash-it为使用、开发和维护日常工作中使用的shell脚本和自定义命令提供了一个坚实的框架”
- Bash OO Framework:“Bash Infinity将经常被混淆的“bash语法”转换为一个更清晰、更现代的语法”
- Bashinator:“Bashinator是一个bash shell脚本的框架”
- (旧 Bash脚本库列表)或WebArchive链接
备注
- 我不知道这个库是否在WSL或git bash的Windows上工作。它可能在Mac上工作。我使用Linux。您可以提交PR以实现与不同系统的兼容性
开发
如果您想贡献,您不需要PHP。我将很高兴亲自运行文档生成,并最终将使用持续集成和持续部署(CICD)来完成这项工作。
这使用PHP包来生成文档和帮助菜单。这需要Composer(安装依赖项),PHP语言,而且我相当确定Composer需要Git,但您可能已经有了。
要设置开发环境,先进行Fork,然后
git clone git@gitlab.com:your_vendor_name/bash/git-bent.git git-bent # Put in the correct url for your fork.
cd git-bent/.config
composer install
cd ..
然后生成文档和帮助菜单
vendor/taeluf/code-scrawl/cli/scrawl
&只需回答'y'