fshz.net
当前位置:首页 >> ExpECt intErACt >>

ExpECt intErACt

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

./suroot.sh 中为什么不直接申明 #!/usr/bin/expect ? 然后,expect -c " xxx " 就可以直接写成 xxx 了。

不要写成 bash 脚本,直接写 expect 脚本就行了。 #!/usr/bin/env expect spawn su - expect ":" { send "redhat\r" } interact

你是说shell的expect么,我有个ssh自动登录的脚本,你看下 1. [#!/usr/bin/expect] 2. [set timeout 30] 基本上认识英文的都知道这是设置超时时间的,现在你只要记住他的计时单位是:秒 3. [spawn ssh -l username 192.168.1.1] spawn是进...

#!/bin/bash date=`date +%Y%m%d` pw='123456' /usr/bin/expect -c " spawn mysqldump -u root -p ec > ec$date.sql ; set timeout 10; expect { \"*password*\" {send \"$pw\r\";} } expect eof;"

1.安装expect 需要先安装tcl:apt-get install tcl apt-get install expect 2.expect使用 2.1一个简单的输入密码操作 #!/usr/bin/expect set timeout 100 set password "123456" spawn sudo rm -rf zzlogic expect "root123456" send "$passwor...

加个if啊先用# 登陆失败 再用$ PS: 一般root账户都是 # 其他的账户都是$ 看下账户权限了

expect是一个用来实现自动交互功能的工具,使用expect-send来实现交互过程。脚本的执行方法与bash shell不一样,如:expect example.sh 向一个脚本传递参数,bash shell是使用$1,$2...来接收参数的,而epxect则将脚本的执行参数保存在数组$argv...

expect的send不能单独用的。 一般需要: spawn expect send expect send 这样用。 还有个问题 #!/usr/bin/expect 应该放在第一行吧。

expect -c " set timeout 30; spawn /usr/bin/ssh admin@$ServerB-IP expect { \"*yes/no*\" {send \"yes\r\"; exp_continue} \"*...

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