关于expect脚本输出的问题】的更多相关文章

写了一个expect脚本 执行ssh命令远程登录 然后telnet另外一台机器 大致如下: #!/usr/bin/expect -f set timeout set port_type [lindex $argv ] set p1 [lindex $argv ] set p2 [lindex $argv ] set p3 [lindex $argv ] set p4 [lindex $argv ] set p5 [lindex $argv ] if { $port_type eq "http&q…
Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下的 bash.windows 下的 cmd 是一类东西. 注意:这一行需要在脚本的第一行,从而告知操作系统采用 expect 作为 shell 执行脚本. 注意:当使用 #!/usr/bin/expect -d 时,expect 脚本将运行在调试模式,届时脚本执行的全过程将被展示出来. 2. set…
最近有用到,利用expcet脚本自动登录到远程服务器并提权执行脚本. 搜集的知识如下: tcl/tk参考——列表操作lindex expect脚本解释 代码如下 #!/usr/bin/expect -- && $argc != } { exit } ] set port [lindex $argv ] set proto [lindex $argv ] ;#:ssh;:telnet set user [lindex $argv ] set pwd [binary format H* [li…
Linux脚本中有很多场景是进行远程操作的,例如远程登录ssh.远程复制scp.文件传输sftp等.这些命令中都会涉及到安全密码的输入,正常使用命令时是需要人工手动输入密码并接受安全验证的.为了实现自动化远程操作,我们可以借用expect的功能. expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.expect是不断发展的,随着时间的流逝,其功能越来越强大,已经成为系统管理员的的一个强大助手.expect需要Tcl编程语言的支持,要在系统上运行expect必须…
expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expect: expect是一款自动化的脚本解释型的工具. expect基于tcl脚本,expect脚本的运行需要tcl的支持. expect对一些需要交互输入的命令很有帮助,比如ssh ftp scp telnet. expect就可以根据设定的规则,自动帮我们输入密码,大大节省了时间. 远程登录lin…
#!/bin/sh echo "helo" password='xxxx' ###不能在下面的expect脚本段设置成 set password xxxx否则获取不到变量,单独的expect脚本变量可以这样设置 /usr/local/bin/expect <<EOF  ###安装的expect的路径一般为/usr/bin/expect spawn scp -rp /home/test/ user@x.x.x.x:/home/test expect { "(yes/…
互联网服务有很多台服务,但是在上线的时候需要将这些服务版本都更新与个个都重启,下面的脚本语言,就是一键发布服务~ 1.在/home/weihu/deploy/ 目录下建下publish .publish下建下bak.bin.cfg.rel文件夹(其中bak为备份.bin为自己写的脚本语言目录.cfg为生产环境的配置文件.rel每次版本发布) 2.安装expect脚本 查看是否已经安装 whereis expect 3.工程版本中,生产配置文件往往是很少变的,但是自己打的版本可能是在开发环境可能和…
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果.例如,执行外部…
刚刚用iTerm2的时候,总是要一遍遍的敲用户名.密码. 我在想, 能不能像Windows的软件一样,可以直接让软件记住.然后只要点击一下,就直接ssh到远程服务器上面去了. 之后经过搜索,可以用expect脚本实现. <code style="font-family: Monaco, Menlo, 'Courier New', monospace; margin: 2px; word-break: break-all; line-height: 18px; display: block;…
zabbix在模板中预定义了一些key,但通常情况,并不能满足我们的需求.幸运的是zabbix提供了自定义key的方法,因此我们可以灵活的监控各种我们想要监控的数据. 定义配置文件 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf.大约在这个文件的255行左右,我们可以发现下面的代码:   1 Include=/etc/zabbix/zabbix_agentd.d/ 我们自定义的配置,可以放到这个目录.我们可以创建一个自定义的文件…
转自:http://www.maomao365.com/?p=6679 摘要: 下文将分享使用sql脚本输出交替变换的不同背景颜色的sql脚本的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: 下文 首先采用 over() row_number 函数生成的行编号, 然后对每行进行颜色变化操作,生成不同的背景色,如下所示: )) go ,'测试信息20180625-1') ,'测试信息20180626-2') ,'测试信息20180628-3') ,'测试信息2018062…
转自:http://www.maomao365.com/?p=6683 摘要: 下文将分享使用sql脚本输出excel的方法 此脚本可以应用于 表或视图生成excel的方法,若需使用sql脚本输出excel数据,我们可将sql脚本生成视图或临时表,然后再输出excel------------------------------------输出excel语法简介: exec master..xp_cmdshell 'bcp [数据库名称].[架构名].[表名] out [excel存放位置全路径]…
很久没碰asp,都有点生疏了,唉... 今天写一个小程序,发现网页静态部分输出不会乱码,asp脚本部分输出在360浏览器上会显示乱码,但在firefox和chrome上测试却不会显示乱码,我已经在代码顶部加上了: <" CODEPAGE="65001"%><%Response.Charset = "utf-8"%> 为什么asp脚本输出部分在360或IE浏览器上时不时的显示乱码呢? 百度了一下,原来还要加两个,下面这个比较完整: &…
自动同步文件 #!/usr/bin/expect set " spawn rsync -av root@.txt /tmp/ expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect eof 指定host和要同步的文件 #!/usr/bin/expect set " set host [lindex $argv ]…
expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set host "192.168.133.132" set " spawn ssh root@$host expect { "yes/no" { send "yes\r"; exp_continue} "password:" {…
先看下我实际用的例子: #!/usr/bin/expect spawn rsync -vazu ssh-src/src wayne@192.168.5.2:~/projects/ expect "*password:" expect "*#" send "wayne\n" #expect "*#" interact 这里面用了rsync与服务器同步,用了expect自动填写服务器密码. 简单解释: send:用于向进程发送字符…
原题目: 一个文本类型的文件,里面每行存放一个登陆者的IP(某些行是反复的),写一个shell脚本输出登陆次数最多的用户. 之前刚看到这个题目时,立即没有想到一行直接解决的办法,尽管知道能够先进行排序,可是后面因为对uniq命令的參数不熟悉,所以用了比較背的办法,就是直接编写shell脚本程序来解决问题. 如今如果測试数据例如以下: 111.111.111.111 10.10.10.10 222.222.222.222 111.111.111.111 333.333.333.333 10.10.…
背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现   一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send) 1.安装expect  需要先安装tcl:apt-get install tcl apt-get install expect   2.expect使用 2.…
1.修改agent配置文件: 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf 里面定义我们自己配置文件路径:Include=/etc/zabbix/zabbix_agentd.d/ 定义我们需要的key:vim /etc/zabbix/zabbix_agent.d/userparameter_script.conf文件里面添加这样的内容: # 这个文件监控自定义脚本输出值# 格式为UserParameter=<key>,<…
 背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现   一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send) 1.安装expect  需要先安装tcl:apt-get install tcl apt-get install expect (输入expect查看是否能…
问题描述 前几天有个小需求,用到expect脚本去循环的发送一些数据,主要问题代码如下: #! /usr/bin/expect while {true} { set timeout 60 spawn telnet ip port expect "]'."; send "***********一些数据***********\r" expect "*********一些回复************"; send "exit\r"…
loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本loadrunnerstreamfilestring测试 .controller中运行脚本时无法查看输出log,可以手动写入代码输出log到外部文件,通过查看该log获得相关信息: 以下脚本是为了分析场景中多用户运行时参数列表如何取值(id,groupid,sid,uname),设置集合点后通过查看时…
一.expect脚本中,变量的不同写法 shell脚本中定义时间变量的写法:time=`date "+%Y%m%d"` ==>>直接照搬到expect中,设置的变量是不生效的:set time `date "+%Y%m%d"`这样的写法是错误的,无法识别. ==>>应该这样写:set time [exec date +%Y%m%d]才是正确的写法. 二.shell脚本和expect脚本的结合 将expect加入到shell脚本后 set 定义…
如何向expect脚本里面传递参数   比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递   ssh.exp   Python代码   #!/usr/bin/expect   set timeout 10   set username [lindex $argv 0]   set password [lindex $argv 1]   set hostname [lindex $argv 2]   spawn ssh-copy-id…
7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时,假如使用的网站或者APP的后端服务器所使用的语言是PHP,如果要想运行PHP代码,需要配置一个lamp或lnmp的环境,最后还需要把代码上传到服务器上去,但是在平常工作中经常有一些新的业务改变,这个时候就需要去修改代码,如果服务器不多还可以快速的在服务器上修改,但是如果有50台或更多服务器,那么就不…
7月20日任务 20.31 expect脚本同步文件20.32 expect脚本指定host和要同步的文件20.33 构建文件分发系统20.34 批量远程执行命令扩展:shell多线程 http://blog.lishiming.net/?p=448 20.31 expect脚本同步文件 使用expect脚本实现在一台机器上把文件同步到另外一台机器上,这里需要用到核心命令rsync,如果是手动方式进行同步,那么还需要单独输入密码,所以没有脚本方式操作方便. 示例:自动同步文件 [root@jim…
最近工作中需要使用ssh连接到centos服务器中,以前公司都是直接配的私钥就可以免密登录了.这里还用的密码. 由于,我一直用的是iTerm2,所以在网上搜索了下,找到了一种方案,那就是expect脚本.看了下,系统还自带了,不用再安装了 expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预.说白了,expect就是一套用来实现自动交互功能的软件. 我把主要的脚本贴一下 #!/usr/bin/expect set timeout 30 spawn ssh -p [linde…
前言 在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作. 借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,可以设置定时构建,接着就可以定时触发执行脚本,得到并查看测试报告,最后还可以配置发送邮件等. 今天我们就来学习下,如何结合 Git/SVN 自动拉取代码,通过构建来自动执行python脚本输出测试报告. Jenkins创建Job 新建一个自由风格的项目 登录Jenkins后,选择新建任务,新建…
一运行告警系统 创建一个任务计划crontab -e 每一分钟都执行一次 调试时把主脚本里边log先注释掉 再次执行 没有发现502文件说明执行成功了,每日有错误,本机IP 负载不高 二.分发系统-expect讲解 yum install -y expect 自动远程登录 #! /usr/bin/expect set host "192.168.1.106" set passwd "mimA123" spawn ssh root@$host  指向106 expec…
首先创建一个expect脚本ssh_expect,文件内容如下: #!/usr/bin/expect -f set hostname [lindex $argv 0] set user [lindex $argv 1] set passwd [lindex $argv 2] set timeout 30 set force_conservative 1 if {$force_conservative} { set send_slow {128 .1} } spawn ssh $user@$hos…