#!/usr/bin/expect
# 设置超时时间(秒)
set timeout 20
# 启动SSH连接
spawn ssh user@hostname
# 等待密码提示符并输入密码
expect "password:"
send "your_password\r"
# 等待命令行提示符并执行命令
expect "$"
send "ls -l\r"
# 等待命令执行完毕并退出
expect "$"
send "exit\r"
# 等待子进程结束
expect eof
设置超时时间:
set timeout 20
这行代码设置了Expect脚本的超时时间为20秒。如果在20秒内没有匹配到预期的输出,脚本将终止。
启动SSH连接:
spawn ssh user@hostname
使用spawn
命令启动一个SSH会话,连接到指定的主机hostname
,使用用户名user
。
等待密码提示符并输入密码:
expect "password:"
send "your_password\r"
expect
命令等待SSH客户端提示输入密码,然后使用send
命令发送密码。注意,这里使用\r
表示回车键。
等待命令行提示符并执行命令:
expect "$"
send "ls -l\r"
expect "$"
等待远程主机的命令行提示符出现,然后发送ls -l
命令列出目录内容。
等待命令执行完毕并退出:
expect "$"
send "exit\r"
再次等待命令行提示符出现,然后发送exit
命令退出SSH会话。
等待子进程结束:
expect eof
最后,expect eof
等待子进程(即SSH会话)完全结束。
上一篇:linux开启ssh服务
下一篇:linux返回上一级目录
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站