shell-快速切换服务器


title: "shell 快速切换服务器"
date: 2022-02-22
categories:
- "linux"
tags:
- "linux"
- "shell"
- "快速切换服务器"
coverImage: "shell.png"


因为维护工作,经常需要切换服务器,这里写个切换服务器脚本。

输入判断,可自行完成,我这里只是简版。

范例一,适合服务器较多时,使用行号进行快速连接

思路:通过行号定位行内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
#host
echo "
USER            IPADD
test11          192.168.1.111
test12          192.168.1.112

test21          192.168.1.121
test22          192.168.1.122

test31          192.168.1.123
test32          192.168.1.124
test33          192.168.1.125
" |grep -Ev "^#|^$|^ ">/tmp/host

cat -n /tmp/host
read -p "请输入编号:" NUM
USER=`sed -n "$NUM"p /tmp/host|awk '{print $1}'`
IPADD=`sed -n "$NUM"p /tmp/host|awk '{print $2}'`
ssh $USER@$IPADD

范例二,适合服务器较少时,快速输入ip最后几位来识别,也可以输入完整ip地址

思路:通过输入的末尾值,对文件进行过滤出行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
#host
echo "
USER            IPADD
test11          192.168.1.111
test12          192.168.1.112

test21          192.168.1.121
test22          192.168.1.122

test31          192.168.1.123
test32          192.168.1.124
test33          192.168.1.125
" |grep -Ev "^#|^$|^ ">/tmp/host

cat -n /tmp/host
read -p "请输入IP地址:" NUM
USER=`grep "$NUM$" /tmp/host|awk '{print $1}'`
IPADD=`grep "$NUM$" /tmp/host|awk '{print $2}'`
ssh $USER@$IPADD