diff --git a/src/metric/client-plugins/all-in-one/plugins/node-exporter/install.sh b/src/metric/client-plugins/all-in-one/plugins/node-exporter/install.sh index 31a3a66..b6d7a75 100755 --- a/src/metric/client-plugins/all-in-one/plugins/node-exporter/install.sh +++ b/src/metric/client-plugins/all-in-one/plugins/node-exporter/install.sh @@ -41,6 +41,7 @@ show_help() { } # 解析命令行参数 +INSTALL_DIR="" for arg in "$@"; do case $arg in --help|-h) @@ -48,9 +49,14 @@ for arg in "$@"; do exit 0 ;; *) - log_error "未知参数: $arg" - show_help - exit 1 + # 如果参数不是以--开头,则认为是安装目录 + if [[ ! "$arg" =~ ^-- ]]; then + INSTALL_DIR="$arg" + else + log_error "未知参数: $arg" + show_help + exit 1 + fi ;; esac done diff --git a/src/metric/client-plugins/all-in-one/scripts/install_artifact.sh b/src/metric/client-plugins/all-in-one/scripts/install_artifact.sh index acd6757..cf4c8c0 100755 --- a/src/metric/client-plugins/all-in-one/scripts/install_artifact.sh +++ b/src/metric/client-plugins/all-in-one/scripts/install_artifact.sh @@ -132,7 +132,7 @@ find_version_file() { # 在当前目录查找 if [[ -f "$VERSION_FILE" ]]; then - VERSION_FILE_PATH="$VERSION_FILE" + VERSION_FILE_PATH="$(pwd)/$VERSION_FILE" log_success "找到版本文件: $VERSION_FILE" return 0 fi @@ -140,7 +140,7 @@ find_version_file() { # 在 artifact 目录查找 for version_dir in artifact/*/; do if [[ -f "${version_dir}${VERSION_FILE}" ]]; then - VERSION_FILE_PATH="${version_dir}${VERSION_FILE}" + VERSION_FILE_PATH="$(cd "$(dirname "${version_dir}${VERSION_FILE}")" && pwd)/$(basename "${version_dir}${VERSION_FILE}")" log_success "找到版本文件: $VERSION_FILE_PATH" return 0 fi @@ -262,6 +262,7 @@ verify_checksums() { log_info "验证文件完整性..." artifact_dir=$(dirname "$VERSION_FILE_PATH") + log_info "Artifact 目录: $artifact_dir" failed_verification=0 if [[ -f "$TEMP_DIR/checksums.txt" ]]; then @@ -436,6 +437,7 @@ install_components() { log_info "开始安装组件..." artifact_dir=$(dirname "$VERSION_FILE_PATH") + log_info "Artifact 目录: $artifact_dir" install_count=0 total_count=0