如何使用ubuntu上的expect脚本

703
2024/10/14 12:31:30
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Expect 是一个用于自动化交互式应用程序的工具,如 telnet, ftp, passwd, fsck, rlogin, ssh 等

  1. 安装 Expect:

    在终端中输入以下命令来安装 Expect:

    sudo apt-get install expect
    
  2. 创建一个 Expect 脚本:

    使用文本编辑器(如 vim, nano 或 gedit)创建一个新文件,例如 my_expect_script.exp

  3. 编辑 Expect 脚本:

    在新创建的 Expect 脚本中,输入以下内容:

    #!/usr/bin/expect
    
    # 设置超时时间(以秒为单位),如果应用程序在指定时间内没有响应,脚本将退出
    set timeout 10
    
    # 使用 spawn 命令启动交互式应用程序,例如 ssh 用户名@服务器地址
    spawn ssh username@example.com
    
    # 使用 expect 命令等待特定的字符串出现在输出中
    expect "assword:"
    
    # 使用 send 命令发送密码(假设密码是 "mypassword")
    send "mypassword\r"
    
    # 使用 interact 命令将控制权交还给用户,允许用户与应用程序进行交互
    interact
    
  4. 保存并退出编辑器。

  5. 使脚本可执行:

    在终端中,导航到脚本所在的目录,然后输入以下命令使脚本可执行:

    chmod +x my_expect_script.exp
    
  6. 运行 Expect 脚本:

    在终端中,输入以下命令来运行脚本:

    ./my_expect_script.exp
    

现在,Expect 脚本应该能够自动执行交互式应用程序,如 SSH 登录。请注意,这只是一个简单的示例,Expect 脚本可以根据需要进行定制。要了解更多关于 Expect 的信息,请查阅其官方文档:https://expect.readthedocs.io/en/latest/

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 怎么查看ubuntu分区情况