#/bin/bash # 定义数组 ip=() username=() desc=() way=() sh_path=$(cd $(dirname $0); pwd) # 读取文件 while IFS=',' read -r ip_field username_field desc_field way_field; do ip+=("$ip_field") username+=("$username_field") desc+=("$desc_field") way+=("$way_field") done < "${sh_path}/IP.conf" while [ 1 ] do echo "机器列表: " for(( i = 0; i < ${#ip[@]}; i++)) do echo " $((i+1)). ${ip[i]} (${desc[i]})" done echo "" read -p "请选择要登录的机器(输入q、quit、exit退出): " i case "$i" in 'q'|'quit'|'exit') echo "退出" exit 1 ;; *) if [[ $i =~ ^[0-9]+$ ]] && (( $i > 0 && $i <= ${#ip[@]} )) ; then index=$i-1 echo "即将登录: ${desc[$index]}" echo "" if [[ ${way[$index]} =~ 'cert' ]]; then ssh -i /root/.ssh/stuuudy.pem ${username[$index]}@${ip[$index]} exit 1 else ssh ${username[$index]}@${ip[$index]} exit 1 fi else echo "请选择正确的机器" echo "" fi ;; esac done