赞
踩
#启动脚本 # 服务注册地址 configServerAddr=“127.0.0.0:8088" #nameSpace registerNamespace=“lzh_test” arr=( “subject-starter" “project-starter" ) # 在 Bash 脚本中,getopts 是一个用于解析命令行参数的内置命令,而 $opt 是一个变量,用于存储 getopts 解析到的当前选项。 while getopts ":n:a:m:" opt do case $opt in "a") configServerAddr=$OPTARG;; "n") registerNamespace=$OPTARG ;; "m") module=$OPTARG ;; ?) exit 1;; esac done # ! -n 表示为空 -n判断是否为空 不为空返回true if [ ! -n "$module" ];then echo '将运行全部模块' else OLD_IFS="$IFS" IFS="," arr=($module) IFS="$OLD_IFS" fi echo "配置中心地址:$configServerAddr" echo "注册中心namespace:$registerNamespace" # 2>&1 的作用是将标准错误(stderr)的输出重定向到与标准输出(stdout)相同的地方。这样做的目的是将所有的输出(包括标准输出和标准错误)都写入到同一个文件中,以便更容易进行日志记录和分析。 for var in ${arr[@]} do echo "启动模块:$var" nohup java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -jar $var-hy-SNAPSHOT.jar --nacos.config.server-addr=$configServerAddr --nacos.config.namespace=$registerNamespace > $var.log 2>&1 & echo $! > $var.pid sleep 5 done #停止脚本 arr=( “subject-starter" “project-starter" ) while getopts ":m:" opt do case $opt in "m") module=$OPTARG ;; ?) exit 1;; esac done if [ ! -n "$module" ];then echo '将停止全部模块' else OLD_IFS="$IFS" IFS="," arr=($module) IFS="$OLD_IFS" fi for var in ${arr[@]} do kill -9 $(cat $var.pid) done
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。