首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    expect java,Expect 使用详解「建议收藏」

    第1章 expect 概括 expect 期待 expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnet shell脚本中的变量需要对于expect中的变量. 2.1 使用例子 2.2 首先安装expect [shell] Centos OS yum 安装 yum install -y expect Ubuntu expect自动执行脚本 [shell] root@xuebao shell]# cat expect_mkdir.exp #! /usr/bin/expect  #解释器,告诉操作系统,使用expect必须加。 } expect eof [/shell] 注意:expect脚本必须以expect eof结束。

    3.5K40编辑于 2022-11-15
  • 来自专栏python3

    python expect

    /usr/bin/python import pexpect foo = pexpect.spawn('passwd mqjia') foo.expect("New UNIX password:") foo.sendline ("1234567") foo.expect("Retype new UNIX password:") foo.sendline("1234567") foo.interact()

    1.1K10发布于 2020-01-10
  • 来自专栏程序猿的大杂烩

    expect快速入门

    expect简介 expect是一个自动化交互式应用程序的工具,所以expect可以用来处理交互的命令。借助expect,我们可以将交互过程写在一个脚本上,使之自动化完成。 ---- expect脚本远程登录 以上简介中也提到了expect和shell类似,可以进行编程,接下来就实际的编写一些expect脚本来学习expect简单的使用方式。 如果你的系统没有安装expect,需要先安装expect,安装命令如下: yum install -y expect expect示例:编写一个自动远程登录脚本,expect编写的脚本文件后缀名为 与interact相对的就是expect eof ,expect eof会在登录后,停留登录状态1-2秒后才退出登录。 _3.expect #!

    1.3K20发布于 2020-09-23
  • 来自专栏全栈程序员必看

    expect用法介绍

    执行shell脚本,需要从终端得到输入时(如ssh root@192.168.1.2),Expect可以根据提示,模拟标准输入来实现交互脚本执行 可以把shell和expect理解为两种不同的脚本语言, expect有独自的语法、变量 二、ssh远程主机的方式 2.1.简单方式,直接使用expect命令 #! exit的指令,这里用来标识该expect要退出了 2.2.稍复杂方式,shell脚本调用expect脚本,并传入参数(推荐) shell脚本 #! } ${ PWD} expect脚本expect.exp #! \n"; exit 1; } } expect "#" send "hostname\r" expect "#" send "exit\r" expect eof 相关解释: [lindex $argv

    3.6K31编辑于 2022-11-03
  • 来自专栏运维经验分享

    Linux expect详解

    Linux expect详解 2018-07-11 分类:Linux Shell / 系统运维 / 编程开发 阅读(6670) 评论(0)  随处可见的expect 第一次见expect这个命令还是我第一次参加全量上线的时候 实在是看不懂这个expect命令的用法,所以就找时间总结了这篇关于expect命令的文章。 这就要用到今天这篇文章总结的expect了。 expect是什么? expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。 而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!! 实用代码分析 上面对expect进行了总结,特别是对一些常用的命令进行了详细的说明。下面就通过一些常用的expect脚本来具体的说明如何使用expect来完成日常的一些工作。 #!

    3.9K50发布于 2019-06-21
  • 来自专栏从零开始的linux

    自动登录expect脚本

    /usr/bin/expect set host "192.168.6.77" set passwd "12341234" spawn ssh root@$host expect { "yes/no

    2.6K70发布于 2018-04-25
  • 来自专栏运维经验分享

    crontab执行expect脚本

    crontab执行expect脚本 通过rsync的ssh差异备份方式同步本地目录到远端目录,expect代码如下,命令行手动执行即可 Expect代码  # cat expecttool   #! /usr/bin/expect -f   set timeout 7200;   spawn  /usr/bin/rsync -avz -e "/usr/bin/ssh" /path/to/local /dir/ remoteuser@remotehost:/path/to/remote/dir/   expect {    "*yes/no*" {           send "yes\r";           send "pasword\r";   }                        }   interact   如果要放到crontab任务中,需要把interact替换为  expect

    2.6K20发布于 2019-07-01
  • 来自专栏专注研发

    Linux expect用法介绍

    1.expect是linux中一个交互命令,一般在 /usr/bin/expect路径下,如果该路径未加入到环境中需要先添加,其作用场景常用于交互执行输入指令 常用命令: expect ,这里使用expect免去手动输入密码的操作 主流程脚本: #! /bin/sh expect /home/sendUtil.sh 参数1 参数2 参数3 参数4 远程复制scp脚本: #! /usr/bin/expect spawn sftp -oPort=16022 sftp@192.168.12.32 expect "\*assword\*" send "Password\r" expect "\*sftp\*" send "cd /user/download\r" expect "\*sftp\*" send "get -r *\r" interact

    5.7K20发布于 2020-08-13
  • 来自专栏pandacode_cn

    expect shell 脚本记录

    命令介绍 Expect中最关键的四个命令是send,expect,spawn,interact。 eof Expect脚本必须以interact或expect eof 结束,执行自动化任务通常expect eof就够了 expect eof 是在等待结束标志。 由spawn启动的命令在结束时会产生一个eof标记,expect eof 即在等待这个标记 # 1.4. bash shell内加入expect脚本 使用<<-EOF ,引入expect脚本。 #! expect "]#" { send "cd /\r" } # 结束 expect eof 3). 使用脚本 . /test_expect.exp username ip password # 注意事项 脚本文件内容第一行必须加入#!/usr/bin/expectexpect 脚本文件执行必须使用 .

    1.2K20编辑于 2021-12-17
  • 来自专栏python3

    python expect模块pexpe

    通过它,可以实现类似 expect 的操作。 例如我们可以用它来写python脚本,实现批量对一系列(大量的、配置相同的)的linux服务器进行操作。 如果你对expect还不太了解,那么可以参考Linux expect 介绍与用法 一、pexpect 安装方式 以root用户依次执行如下命令: wget http://pexpect.sourceforge.net ('password:') child.sendline (mypassword)   child.expect('$') child.sendline('sudo -s') child.expect (':') child.sendline (mypassword) child.expect('#') child.sendline('ls - la') child.expect('#') print child.before # Print the result of the ls command.

    85710发布于 2020-01-08
  • 来自专栏bit哲学院

    c++实现expect

    参考链接: C++ exp() 微信公众号:rose1986  1.ubuntu12.04 32位 IDE:Clion 安装 sudo apt-get install tcl-devel expect-devel ------- 2.main.cpp ----------------------------------------------------- #include <tcl.h> #include <expect.h > #include <stdio.h> #include <unistd.h> #include <iostream> #include <expect_tcl.h> using namespace int exp_timeout; //    exp_timeout = 1;     Tcl_Interp *tcl;     tcl = Tcl_CreateInterp();     if (Expect_Init ) add_executable(expTcl main.cpp) target_link_libraries(expTcl tcl8.4 expect5.45)

    92140发布于 2021-02-10
  • 来自专栏修己xj

    # Linux expect命令详解

    在Linux系统中,expect 是一款非常有用的工具,它允许用户自动化与需要用户输入进行交互的程序。本文将深入探讨expect命令的基本语法、使用方法以及一些最佳实践。 linux-expect.jpg 什么是Expect命令? expect 是一个用于自动化交互式进程的工具。它的主要功能是根据程序的输出模式(patterns)发送输入,从而实现自动化交互。 expect eof': 这表示脚本会等待子进程的结束(eof 表示 end of file)。一旦子进程结束,整个 expect 脚本也就结束了。 错误处理 使用 expect_before 和 expect_after 处理在其他期望之前或之后出现的常见模式,提高脚本的健壮性。 以下是一个简单的expect脚本,用于自动化SSH登录 #! expect "$ " send "ls\n" expect "$ " send "exit\n" 脚本执行过程如下 _20231202223700.jpg 总结 expect命令是Linux系统中一个非常实用的工具

    1.2K10编辑于 2023-12-04
  • 来自专栏运维小白

    20.28 expect脚本远程登录

    expect脚本远程登录 yum install -y expect 自动远程登录 [root@aminglinux-02 sbin]# vim 1.expect #! /usr/bin/expect set host "192.168.133.132" set passwd "123456" spawn ssh root@$host expect { "yes/ no" { send "yes\r"; exp_continue} // "password:" { send "$passwd\r" } } interact //脚本结束 在expect -bash: ./1.expect: 权限不够 [root@aminglinux-02 sbin]# chmod a+x 1.expect 成功登录 [root@aminglinux-02 sbin] # ./1.expect spawn ssh root@192.168.133.130 root@192.168.133.130's password: Last failed login: Wed Sep

    1.5K30编辑于 2022-01-06
  • 来自专栏Laoqi's Linux运维专列

    shell项目-分发系统-expect

    main.expect #! /usr/bin/expect set host "192.168.59.132" set passwd "123456" spawn ssh [email protected]$host expect /usr/bin/expect set user "root" set passwd "123456" spawn ssh $user@192.168.59.132 expect { "yes/no" expect eof 脚本中,如果我们不加此语句,一旦登录成功就退出。 六、指定host和要同步的文件 6.1 脚本配置 vim main5.expect #! 8.1 脚本配置 vim exe.expect #!

    1.6K80发布于 2018-05-09
  • 来自专栏pandacode_cn

    Shell expect用法描述

    命令介绍 Expect中最关键的四个命令是send,expect,spawn,interact。 代替人为输入指令—> interact /expect eof Expect脚本必须以interact或expect eof 结束,执行自动化任务通常expect eof就够了 expect eof 由spawn启动的命令在结束时会产生一个eof标记,expect eof 即在等待这个标记 1.4. bash shell内加入expect脚本 使用<<-EOF ,引入expect脚本。 #! expect "]#" { send "cd /\r" } # 结束 expect eof 3). 使用脚本 . /test_expect.exp username ip password 注意事项 脚本文件内容第一行必须加入#!/usr/bin/expectexpect 脚本文件执行必须使用 .

    99030编辑于 2023-07-07
  • 来自专栏大猪的笔记

    使用expect自动登录

    公司有两重账户,可以使用expect自动登录,代码如下 #! /usr/bin/expect -f set ip [lindex $argv [expr $argc-1]] set user yinzihao set host $ip set password pwd1 set bot_password pwd2 set timeout -1 spawn ssh $user@$host expect { "es/no" { send "yes\r";exp_continue } "assword" { send "$password\r"} } expect "service" {send "su - bot\r"} expect "assword" {send "$bot_password\r";interact} expect eof

    1.4K20发布于 2019-11-22
  • 来自专栏阿dai_linux

    分发系统——expect

    分发准备: 模板脚本、服务器IP、用户名、密码、expect脚本 20.18 expect脚本远程登录 使用expect前需要先安装: [root@z1 ~]# yum install -y expect 安装完成后就可以写expect脚本了。 expect远程登录脚本: [root@z1 ~]# vim 1.expect #! 20.29 expect脚本远程执行命令 [root@z1 ~]# vim 2.expect #! 检查执行结果: [root@z2 ~]# cat /tmp/12.txt 1212 20.30 expect脚本传递参数 [root@z1 ~]# vim 3.expect #!

    72630发布于 2019-04-03
  • 来自专栏运维经验分享

    expect的超时处理

    /bin/bash /usr/bin/expect <<-EOF set timeout 10000 spawn scp xixicat@10.12.191.128:/home/xixicat/demofile . expect -exact "xixicat@10.12.191.128's password:" send "demopwd\r" expect "100%" expect eof EOF echo "finish" 如果没有设置timeout,或者timeout不够长,那么就不能保证spawn的效果,由于网络原因,有可能超时,先send密码了,之后才返回要expect密码。

    1.6K20发布于 2019-07-01
  • 来自专栏ACM小冰成长之路

    bash 脚本中嵌入 expect

    由于 并没有默认安装,所以需要先安装: sudo apt install expect 另外因为 脚本有专用的解释器,所以在脚本的第一行不是: #!/bin/bash 而是: #! /usr/bin/expect -f 如此一来,我们需要将用到交互式操作的命令均抽离出来分别写脚本,这样无疑会造成麻烦,如果交互式的命令很多时,会需要写很多脚本。 /bin/bash expect_tmp() { expect -c " set timeout 10 spawn cmd ... expect { "[Y/n]" { send "Y\n" } } interact " echo expect_tmp done!!! } expect_tmp echo Done!!! exit 0 应该还有别的写法,例如: expect << EOF cmd EOF 具体没有测试,有兴趣的可以自己试试看。

    2.8K20编辑于 2021-12-07
  • 来自专栏全栈程序员必看

    expect中的正则匹配

    文档原文: xpect_out(x,string) expect_out(x,start|end) 如果expect匹配是采用高级正则表达式的话(-re参数表示高级正则表达式方式匹配),那么每个子模式都有一个序号 *(k+)" $output 那么: set expect_out(0,start) ==> 1 set expect_out ==> 3 set expect_out(1,string) ==> bb set expect_out(2, ---set expect_out(0,end) <- 匹配项的结束位置 ==> 10 \set expect_out(0,string) 2 第一个括号的匹配项---set expect_out(1,end) <- 匹配项的结束位置 ==> 3 \set expect_out(1,

    1.7K30编辑于 2022-11-01
领券