taeluf / bash.cli-framework

一个用于开发易于使用的命令行库的bash命令行框架

v0.1.x-dev 2022-12-24 17:22 UTC

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:   

设置新库

  1. cd到新库的根目录。
  2. git clone @git(https_url) vendor/bash-cli
  3. ./vendor/bash-cli/bash-cli setup new project
  4. 按照提示操作。然后运行source ~/.bashrc或重新启动您的终端。
  5. 查看您新库中的示例代码
  6. 运行yourlib help./bin/yourlib help
  7. 编写一些函数并运行它们,以了解事物是如何工作的。

开发工具(可选,推荐)

我们使用code-scrawl,一个Php包,来生成帮助菜单和文档。您也可以手动编写帮助菜单。

要使用这些工具,我们需要PHP和Composer(PHP的流行包管理器)。PHP仅用于开发。您的bash库用户不需要PHP

  1. howto/install-php
  2. howto/install-composer
  3. cd vendor/bash-cli; composer install; - 安装Code Scrawl及其依赖项。
  4. cd ../..(回到项目根目录)然后运行vendor/bash-cli/bash-cli scrawl
    • 已重新生成帮助菜单以及文档
  5. 您可能需要编辑项目内的.config/scrawl.json以符合您的喜好。
  6. 有关文档生成更多信息,请参阅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'