#!/bin/bash OMCBinFile=/usr/local/bin/omc OMCEtcDir=/usr/local/etc/omc confFile=$OMCEtcDir/omc.yaml VariableFile=$OMCEtcDir/omc.conf # Read the value of the variable from file source $VariableFile # 初始化变量 T_PARAM="" C_PARAM="" M_PARAM="" # usage usage() { echo "Usage: bash $0 [OPTION]" echo echo "Program Initialization OPTION:" echo " -i, --install Specify the install" echo " -u, --upgrade Specify the upgrade" echo " -m, --mode Available the mode (standard/light)" echo " -c, --customize Available the customize (omc/agt/ba)" echo " -h Display this help message" echo exit 1 } # 检查环境 checkEnv() { # 检查 mysql 或 mariadb 是否安装 if command -v mysql &> /dev/null || command -v mariadb &> /dev/null; then echo "MySQL 或 MariaDB 已安装" else echo "MySQL or MariaDB not installed" exit 1 fi } # customize customize() { echo "customize" } # install install() { # 数据源 DBSource="default" if [ "$MODE" = "lite" ]; then DBSource="lite" fi $OMCBinFile -c $confFile --sqlPath $OMCEtcDir/$DBSource/install --sqlSource $DBSource } # upgrade upgrade() { # 数据源 DBSource="default" if [ "$MODE" = "lite" ]; then DBSource="lite" fi $OMCBinFile -c $confFile --sqlPath $OMCEtcDir/$DBSource/upgrade --sqlSource $DBSource } # ========================= # 参数解析 while [[ $# -gt 0 ]]; do case "$1" in -i|--install) T_PARAM="install" shift ;; -u|--upgrade) T_PARAM="upgrade" shift ;; -t|--type) T_PARAM="$2" shift 2 # 跳过 -t 参数和值 ;; -m|--mode) M_PARAM="$2" shift 2 # 跳过 -m 参数和值 ;; -c|--customize) C_PARAM="$2" shift 2 # 跳过 -c 参数和值 ;; -h) usage ;; *) echo "Error: Unknown option: $1" usage ;; esac done # 确保 -i 或 -u 在前 if [ -z "$T_PARAM" ]; then echo "Error: You must specify -i (install) or -u (upgrade) first." usage fi echo "Type parameter: $T_PARAM" # 判断 -c 是否传入 if [ -n "$C_PARAM" ]; then echo "Customize parameter: $C_PARAM" sed -i "s/VENDORS=.*/VENDORS=${C_PARAM}/" $VariableFile VENDORS=$C_PARAM fi echo "Customize parameter: $VENDORS" # 判断 -m 是否传入 if [ -n "$M_PARAM" ]; then echo "Mode parameter: $M_PARAM" sed -i "s/MODE=.*/MODE=${M_PARAM}/" $VariableFile sed -i "s/mode:.*/mode: ${M_PARAM}/" $confFile MODE=$M_PARAM fi echo "Mode parameter: $MODE" if [ "$T_PARAM" = "install" ]; then install else upgrade fi