linux通過expect工具來實現自動登錄服務器,並執行相關操作


參考地址:https://www.cnblogs.com/liyuanhong/articles/7728034.html

EOF的使用參考:https://www.cnblogs.com/liyuanhong/articles/7101666.html

expect使用參考:https://www.cnblogs.com/liyuanhong/articles/10390785.html

 

我們要實現登錄服務器並創建一個文件,用兩種方法來寫該腳本:

方法一:shell腳本嵌套執行expect命令(通過 sh test.sh 或 ./test.sh來執行)

#!/bin/bash

/usr/bin/expect <<EOF

#注意使用spawn來執行的命令都是在當前機器來執行的,后面的send發出的命令是在服務器執行的 spawn
ssh liyuanhong@192.168.1.122 expect "password" send "pass\r" expect "liyuanhong"
#登錄成功后在服務端執行的命令
send "touch mmm.sh\r"
expect eof EOF

方法二:直接使用expect腳本(通過./test.sh來執行)

#!/usr/bin/expect
set timeout 5

spawn ssh liyuanhong@192.168.1.122
expect "password"
send "pass\r"
expect "liyuanhong"

#登錄成功后在服務端執行的命令 send "touch mmm.sh\r" expect eof

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM