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
博客里大都是转载的内容,其目的主要用户知识的组织和管理。