Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

linux expect

作者:慢靈魂   发布日期:2025-08-03   浏览:23

#!/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

解释说明:

  1. 设置超时时间

    set timeout 20

    这行代码设置了Expect脚本的超时时间为20秒。如果在20秒内没有匹配到预期的输出,脚本将终止。

  2. 启动SSH连接

    spawn ssh user@hostname

    使用spawn命令启动一个SSH会话,连接到指定的主机hostname,使用用户名user

  3. 等待密码提示符并输入密码

    expect "password:"
    send "your_password\r"

    expect命令等待SSH客户端提示输入密码,然后使用send命令发送密码。注意,这里使用\r表示回车键。

  4. 等待命令行提示符并执行命令

    expect "$"
    send "ls -l\r"

    expect "$"等待远程主机的命令行提示符出现,然后发送ls -l命令列出目录内容。

  5. 等待命令执行完毕并退出

    expect "$"
    send "exit\r"

    再次等待命令行提示符出现,然后发送exit命令退出SSH会话。

  6. 等待子进程结束

    expect eof

    最后,expect eof等待子进程(即SSH会话)完全结束。

上一篇:linux开启ssh服务

下一篇:linux返回上一级目录

大家都在看

linux 发送邮件

linux长ping命令

linux关机命令行

linux重启oracle命令

linux搭建sftp

linux 重启网络命令

linux 追踪路由

查看linux版本信息

linux配置静态路由,并永久生效

linux查看后台

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站