參考地址: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