Bash 脚本:脚本内的帮助文件还是不同的文件?

MrV*_*dji 5 scripting bash shell-script

我正在编写一个脚本,它的使命是最终成为一个功能齐全的程序。据我所知,BASH 足以满足他的目的(管理 PPA,有点像 Y-PPA)。我想知道如何输出帮助myscript --help

目前,帮助echo -e直接在脚本内部编写并使用 a 调用if [ "$1" == "--help" ] || [ "$1" == "-h" ](我计划很快将其切换为 getopts)。

但什么更好?将该help部分留在脚本中还是只写一行来调用包含帮助的另一个文件?

在我看来,将它留在脚本中可能会更好,因为:

  • 我的程序将保持一个文本文件脚本
  • 它节省了硬盘驱动器上的空间
  • 它避免了显示另一个可能已损坏或位于不同位置的文件时出错

但是有一个包含帮助的不同文本文件也可能会更好,因为:

  • myscript命令调用的主脚本会更轻
  • 它简化了脚本的人工阅读
  • 如果需要,它允许单独更新帮助页面
  • 它甚至可以允许仅显示带有 GUI 的帮助页面,和/或打印它。

所以你看,我不知道这样做的“通常”方式是什么。谢谢 !

PS:还请注意,由于我计划发布一个完整的程序,因此手册页会很棒,所以无论如何我都必须提供 1 个以上的文件,也许只是一个 .deb

Ouk*_*uki 2

我在这里看到的两种方法更多:

  • 设置内联部分或类似 POD 的文档以显示为帮助,或者
  • 正确定义.man要添加到本地man结构的文件

老实说,我不认为拥有一个单独的文件来提供此类帮助有什么意义,除非您有一个非常大的工具并且界面/GUI 已经位于不同的文件中。

因此,请保持“简单明了”:有关命令行前端的所有内容都在一个文件中。

您仍然可以将其组织为一块内联文本或正确定义的函数,其唯一目的是显示帮助。所以,对于 10 年后维护你的脚本的可怜人来说,这并不是什么坏事。