Bash:- 定义空变量作为输出结合换行符\n和column输出

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

posted @ 2017-01-04 12:43  ithandonglin  阅读(769)  评论(0编辑  收藏  举报