Skip to content

调试报告

v-generate-debug-report

概述

v-generate-debug-report 是一个用于生成 Hestia 系统中脚本的调试报告的 CLI 命令。该命令使用 shellcheck 工具对指定的脚本进行静态代码分析,并将结果输出到控制台或指定的日志文件中。这有助于开发人员识别和修复脚本中的潜在问题,提高系统的稳定性和安全性。

使用方法

语法

bash
v-generate-debug-report script [LOG_OUTPUT] [MODE]
  • script: 要检查的脚本名称(不带路径)。
  • LOG_OUTPUT (可选): 如果设置为 yes,则将输出保存到日志文件中;如果省略或设置为其他值,则输出到控制台。
  • MODE (可选): 检查模式,可以是 all(检查所有问题)或 warn(仅检查警告级别的问题)。如果省略,则默认检查除特定排除项外的所有问题。

示例

示例 1: 将输出保存到日志文件

bash
v-generate-debug-report v-add-user yes

这个命令将对 v-add-user 脚本进行调试检查,并将结果保存到用户主目录下的 ~/hst-debug/ 文件夹中,文件名包含脚本名称、日期和时间。

示例 2: 在控制台显示输出(默认模式)

bash
v-generate-debug-report v-list-web-domains

这个命令将对 v-list-web-domains 脚本进行调试检查,并将结果直接输出到控制台。默认情况下,它会检查除特定排除项外的所有问题。

示例 3: 使用 warn 模式在控制台显示输出

bash
v-generate-debug-report v-restart-services warn

这个命令将对 v-restart-services 脚本进行调试检查,但仅显示警告级别的问题,并将结果输出到控制台。

功能特性

  • 静态代码分析:使用 shellcheck 工具对脚本进行静态代码分析,以发现潜在的语法错误、逻辑错误、未定义变量等问题。
  • 日志输出:支持将检查结果保存到指定的日志文件中,方便后续分析和跟踪。
  • 检查模式:提供 allwarn 两种检查模式,以满足不同场景下的需求。
  • 自动安装:如果系统中未安装 shellcheck,则自动安装该工具。

注意事项

  • 开发者模式:在使用 v-generate-debug-report 命令之前,需要确保开发者模式(DEBUG_MODE)已启用。如果未启用,则命令将输出错误消息并退出。
  • 脚本路径:在指定脚本名称时,不需要包含路径,只需提供脚本名称即可。系统会自动在 $BIN 目录下查找该脚本。
  • 日志文件位置:默认情况下,日志文件将保存在用户主目录下的 ~/hst-debug/ 文件夹中。如果该文件夹不存在,则命令会自动创建它。
  • 检查排除项:在默认情况下,某些常见的但可能不是问题的警告代码(如 SC2086, SC2016 等)会被排除在外。如果需要检查这些代码,可以相应地修改命令中的排除项列表。

结论

v-generate-debug-report 命令为 Hestia 系统提供了一种方便的方式来生成脚本的调试报告。通过静态代码分析和灵活的输出选项,开发人员可以更容易地识别和修复脚本中的潜在问题,提高系统的质量和稳定性。

根据 GPLv3 许可证发布