tnfh.net
当前位置:首页 >> linux ExpECt >>

linux ExpECt

通过执行rpm命令查询expect是否安装,相关命令如下: rpm -qa|grep expect以上!

#!/usr/bin/expect set time 30 set passwd xxxxx (xxxx是你的密码内容) spawn sudo expect "Password:" 引号里是你手动执行sudo时候 。系统返回给你的提示,可以只匹配最后几个字母, 也可以写全 send "$passwd\r" expect eof EOF

如果你是expect脚本语言的新手,可以首先从我们的expect的“hello world”样例(英文)开始。 1,使用“-c”选项,从命令行执行expect脚本 expect可以让你使用“-c”选项,直接在命令行中执行它,如下所示: $ expect -c 'expect "\n" {send "pressed ...

常见的做法是将interact换成 expect eof ,从而可以捕获到spawn命令启动的进程的结束状态。 如果坚持使用interact可以在命令执行完成后依然保持在登陆在远程服务器上,可以直接手工敲命令进行交互,完成后续工作,最后需要exit退出ssh远程登陆。...

用 exit 命令

1、首先检查你机器上有没有expect(我知道ubuntu默认是没有安装的) ls /usr/bin | grep expect 看看有没有装expect 2、没有的话需要安装 在ubuntu的软件安装中心,搜索tcl 和tk 和expect并安装; 也可以命令行输入sudo apt-get install tcl tk ...

改成 send “exit \$ret\r” ret 变量是 ssh 到远端后shell里面定义的 (即你之前的send "ret=`echo $?`\r") ,所以要把 $ 用 \ 转意,否则 $ret 指的是 expect 里的ret变量,你在 expect 里当然没有定义过这个变量了,所以出错。

#!/usr/local/bin/expect set timeout 10 spawn ssh root@ip expect "*password*" send "123456\r" expect "#" send "service crond restart\r" expect eof

mkdir又不是expect的命令。 #!/usr/local/bin/expectspawn su - rootexpect "Password:"send "123456\n"sleep 3send "mkdir /usr/local/ddddd\r"

spawn是进入expect环境后才可以执行的expect内部命令。expect是一种脚本语言,它能够代替我们实现与终端的交互,我们不必再守候在电脑旁边输入密码,或是根据系统的输出再运行相应的命令。 如果没有装expect或者直接在默认的SHELL下执行是找不到...

网站首页 | 网站地图
All rights reserved Powered by www.tnfh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com