RET="" declare -a HOST=() declare -a ALL_SVR=() declare -a FREESVR=() for ((i=0;i<${#_ALL_AGENT_IP_[@]};i++));do # 读取数值; INFO=""[`expr ${i} + 1`]" "${_ALL_AGENT_IP_[i]}" "$(ssh -T -x -p22333 "${_ALL_AGENT_IP_[i]}" "cd ${_PATH_SETUP_SCRIPTS_}/template/;bash ${_PATH_SETUP_SCRIPTS_}/template/status.sh")"" read SerialNum IpAddr FreeSvr UsedSvr IdleMem Server <<< ${INFO} # 当轮循第一台主机前先插入描述 [[ ${i} == 0 ]] && RET+="Num|Addr|Free|Used|Mem|Svr\n" RET+="${SerialNum}|${IpAddr}|${FreeSvr}|${UsedSvr}|${IdleMem}M|${Server}\n" #RET+="\t${Server}\n" # 轮循将所有主机中获取的区服加入数组 ALL_SVR+=(${Server}) # 当轮循到最后主机时,重新计算排序获取最大区服 [[ "${i}" == `expr "${#_ALL_AGENT_IP_[@]}" - 1` ]] && { ALL_SVR=($(for s in ${ALL_SVR[@]};do echo ${s};done | sort -rn)) MaxSvr="${ALL_SVR[0]}" } [[ ${FreeSvr} -gt 0 ]] && { HOST+=(${IpAddr}) FREESVR+=(${FreeSvr}) } done ##################################################################################### # 显示获取的数据 echo -e "${RET}" | column -s "|" -t
转载于:https://www.cnblogs.com/ithandonglin/p/6248219.html