tnfh.net
当前位置:首页 >> linux下ExpECt脚本问题 >>

linux下ExpECt脚本问题

#!/usr/bin/expect -fif { $argc != 1 } { puts "usage: $argv0 IP" exit 1} else { set IP [lindex $argv 0]}set pingcmd [format "ping -c 100 %s " $IP]set timeout 6000# 比如远程用户叫做testset destuser test# 比如远程服务器IP为如下set...

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

#!/usr/bin/expect set timeout 10 set host_ip [lindex $argv 0] set password [lindex $argv 1] spawn ssh ${host_ip} expect { "(yes/no)?" { send "yes\n" expect "*assword:" { send "$password\n"} } "*assword:" { send "$password\n" } ...

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

用 exit 命令

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

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

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

*.log 是shell中的用法, scp或者其他命令本身并不直接将 * 替换成匹配的多个文件名。 建议你将 expect 脚本做成一次只上传一个文件,这个文件名由输入参数来决定 scp [lindex $argv 0] root@192.xxxxxx:/home expect "password:" {send "111111...

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

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