shell脚本 批量机器管理 跳板机登陆

本文介绍了一种使用Shell脚本实现对多台主机进行批量管理的方法。通过定义配置数组来存储各目标主机的IP地址及其备注信息,并利用简单的转换函数及索引获取机制实现了从用户输入到实际登录指令的自动化流程。文章展示了如何通过命令行输入对应主机的标识符字母,进而获取该主机的IP地址并直接进行SSH连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell脚本 批量机器管理 跳板机登陆

#!/usr/bin/env bash

config=(
    "ip#备注信息"
    "ip#备注信息"
)

alphabet=({a..z})

#十进制转十六进制
function dec2hex(){
  printf "%x" $1
}

#十六进制转十进制
function hex2dec(){
  printf "%d" $1
}

function get_index(){
    length=${#config[@]}
    for ((i=0;i<length;i++))
    do
        para1=
        if [ "${alphabet[$i]}" == "$1" ]; then
                echo $i
        fi
    done
}

##显示ip
function show_ip(){
    length=${#config[@]}
    for ((i=0;i<length;i++))
    do
        echo ${alphabet[$i]}:${config[$i]}
    done
}

function get_ip(){
    fstr=`echo $1 | cut -d \# -f 1`
    echo $fstr
}

### 十六进制 index=$(hex2dec 0x$index)
##从命令行读数据并登陆a
function read_cmd(){
  ###读取数据结果
  while [ 1 ]; do
    if [ ! -n  "$index" ]; then
        echo -n 'please input (a):'
        read -a index
        index=`get_index $index`
    else
        break
    fi
  done
  if [ -n  "$index" ]; then
      ip=`get_ip ${config[$index]}`
      echo 'ssh '$ip
      ###登陆ipa
      ssh $ip
  fi
}

function main(){
  show_ip
  read_cmd
}

main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值