123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #/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
|