痛點:MAC登陸跳版機,每次都要輸入用戶名和密碼選擇服務器後,比較繁瑣。redis
解決:發現expect很好用,share一下,下面是工做中真實使用的腳本。服務器
前提:安裝expectssh
1 # expect交互的腳本 2 #!/usr/bin/expect 3 4 # 鏈接跳板機 5 spawn ssh -p2222 XXX@jump.XXX.jms 6 7 # 若是返回的內容包含*yes/no,發送yes而且換行 8 expect { 9 "*yes/no" {send "yes\r"; exp_continue} 10 "*password:" {send "zxcv1234\r"} 11 } 12 # 選擇服務器 13 expect { 14 "*Opt>" {send "***-test001\r"} 15 } 16 # 服務器切換用戶 17 expect { 18 "*test-user@***-test001*" {send "sudo su - exuser\r"} 19 } 20 # 鏈接接redis 21 expect { 22 "*exuser@***-test001*" {send "redis-cli -h redis的IP地址\r"} 23 } 24 # 輸入鑑權 25 expect { 26 "redis的IP地址:6379" {send "auth 123456\r"} 27 } 28 # 選擇redis的1庫 29 expect { 30 "redis的IP地址:6379" {send "select 1\r"} 31 } 32 expect { 33 "redis的IP地址:6379*" {send "keys v*\r"} 34 } 35 # 保持在遠端 36 interact