expect脚本语言用法示例

#!/usr/bin/expect                                                                                                                   

set hostname [lindex $argv 0]
set username [lindex $argv 1]
set passwd [lindex $argv 2]
set dbname [lindex $argv 3]                                                                                                         

set timeout 10
#spawn /usr/bin/ssh [email protected]$hostname
#expect {
#           "yes/no" { send "yes";exp_continue}
#           "password:"{send "$passwd";}
#}                                                                                                                                  

spawn /usr/kerberos/bin/telnet $hostname
expect "login:" {send "$username\r"}
expect "Password:" {send "$passwd\r"}
send "export LANG=C\r"
send "cat /etc/redhat-release|sed ‘s/ //g‘|awk ‘{ print \"OSLEVEL:\"\$1\":\"}‘\r"
send "cat /proc/meminfo |grep MemTotal|awk  ‘{ print \"MEMSIZE:\" \$2\$3\":\" }‘\r"
send "cat /proc/cpuinfo|grep \"physical id\"|sort|uniq |wc -l|awk ‘{ print \"CPU:\"\$1\":\"}‘\r"
send "db2 connect to $dbname\r"
send "db2  -x \"select ‘DBSIZE:‘,sum(TBSP_USED_SIZE_KB)/1024/1024,‘:‘   from SYSIBMADM.TBSP_UTILIZATION\"\r"
send "db2 terminate\r"
send "exit\r"                                                                                                                       

expect eof

  

时间: 2024-08-03 15:01:06

expect脚本语言用法示例的相关文章

实现真正的自动化,expect脚本语言使用

实现真正的自动化,expect脚本语言使用 expect中的几个重要句子: expect的核心是spawn expect send set spawn 调用要执行的命令 expect 等待命令提示信息的出现,也就是捕捉用户输入的提示: send 发送需要交互的值,替代了用户手动输入内容 set 设置变量值 interact 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了.如果没有这一句登录完成后会退出,而不是留在远程终端上. expect eof 这个一定要加,与spawn

expect脚本语言编写

什么是expect expect是基于tcl的相对简单的一个免费的脚本编程工具语言,用来实现自动和交互式任务程序进行通信,无须人手工干预,比如ssh ftp 等,这些程序正常情况下都需要手工与他们进行交互,而使用expect就可以模拟人手工交互的过程,实现自动的和远端的程序交互,从而到达自动化的目的 expect程序工作流程 expect的工作流程可以理解为,spawn启动进程----->expect期待关键字----->send向进程发送字符------>退出结束 安装expect软件

shell脚本语言用法

shell程序运行: 1../xx.sh.这样运行shell要求shell程序必须具有可执行权限.chmod a+x xx.sh来添加可执行权限. 2.source xx.sh. 3.bash xx.sh,bash是一个脚本程序解释器,本质上是一个可执行程序.这样执行相当于我们执行了bash程序,然后把xx.sh作为argv[1]传给他运行. if的典型应用判断文件是否存在.(-f),注意[]里面前后都有空格,不能省略.判断目录是否存在 (-d)判断字符串是否相等("str1" = &

分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

20.27 分发系统介绍 应用场景 当业务越做越大,服务器需求越来越多,几台服务器的话还好一点:当十几.几十台的时候,工作量就非常大!并且不规范,需要一个模板机分发到各个机器上去. 可以用开源的软件,expect脚本语言,进行实现分发系统的功能. 20.28 expect脚本远程登录 yum install -y expect 自动远程登录,并执行命令 #!/usr/bin/expect set host "192.168.21.130" set passwd "rootro

分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数

分发系统介绍 当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能. expect脚本远程登录首先yum安装expectyum install -y expect 然后写一个expect的远程登录脚本#! /usr/bin/expectset host "192.168.133.132" 这是expect的变量

分发系统介绍,expect脚本远程登录, expect脚本远程执行命令, expect脚本传递参数

分发系统介绍 当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能. expect脚本远程登录 首先yum安装expectyum install -y expect 然后写一个expect的远程登录脚本#! /usr/bin/expectset host "192.168.133.132" 这是expect的变

分发系统介绍、 expect脚本远程登录、远程执行命令、传递参数

一.分发系统介绍 当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能. 二. expect脚本远程登录 1.expect脚本远程登录2.安装:yum install -y expect3.写一个expect的自动远程登录脚本内容如下: #! /usr/bin/expect set host "192.168.1.31&

自动化运维脚本语言之expect实践学习(1)

一.expect简介 expect是一种简单的基于Tcl的脚本语言工具,一个可实现自动交互功能的软件套件,其功能就是进行自动化的人机交互:也能够按照脚本内容里面设定的方式与交互式程序进行"会话"的程序,根据脚本内容expect可以知道程序会提示或反馈什么内容以及什么是正确的应答:它是一种可以提供"分支和嵌套结构"来引导程序流程的解释型脚本语言. shell功能虽然强大,但是不能实现有交互功能的多机器之间的操作例如ssh和ftp,而expect可以帮助我们来实现. 主

expect脚本远程登录、远程执行命令和脚本传参简单用法

expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expect: expect是一款自动化的脚本解释型的工具. expect基于tcl脚本,expect脚本的运行需要tcl的支持. expect对一些需要交互输入的命令很有帮助,比如ssh ftp scp telnet. expect就可以根据设定的规则,自动帮我们输入密码,大大节省了时间. 远程登录lin