调试报告
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
工具对脚本进行静态代码分析,以发现潜在的语法错误、逻辑错误、未定义变量等问题。 - 日志输出:支持将检查结果保存到指定的日志文件中,方便后续分析和跟踪。
- 检查模式:提供
all
和warn
两种检查模式,以满足不同场景下的需求。 - 自动安装:如果系统中未安装
shellcheck
,则自动安装该工具。
注意事项
- 开发者模式:在使用
v-generate-debug-report
命令之前,需要确保开发者模式(DEBUG_MODE
)已启用。如果未启用,则命令将输出错误消息并退出。 - 脚本路径:在指定脚本名称时,不需要包含路径,只需提供脚本名称即可。系统会自动在
$BIN
目录下查找该脚本。 - 日志文件位置:默认情况下,日志文件将保存在用户主目录下的
~/hst-debug/
文件夹中。如果该文件夹不存在,则命令会自动创建它。 - 检查排除项:在默认情况下,某些常见的但可能不是问题的警告代码(如
SC2086
,SC2016
等)会被排除在外。如果需要检查这些代码,可以相应地修改命令中的排除项列表。
结论
v-generate-debug-report
命令为 Hestia 系统提供了一种方便的方式来生成脚本的调试报告。通过静态代码分析和灵活的输出选项,开发人员可以更容易地识别和修复脚本中的潜在问题,提高系统的质量和稳定性。