Chinaunix

标题: 怎么用 expect 获取到目的端的mac 地址,然后返回给源端? [打印本页]

作者: linfenghuaster    时间: 2011-08-10 14:26
标题: 怎么用 expect 获取到目的端的mac 地址,然后返回给源端?
A AUTOSSH 到 B ,然后执行命令获取到B的MAC地址,返回给A ,谢谢哈。
作者: expert1    时间: 2011-08-10 14:39
回复 1# linfenghuaster


   
置顶帖。
作者: xiaopan3322    时间: 2011-08-10 23:00
回复  linfenghuaster


     
置顶帖。
expert1 发表于 2011-08-10 14:39



    最近对tcl的热情很高嘛……
作者: linfenghuaster    时间: 2011-08-10 23:12
没人回答啊,嗨。求高手
作者: waker    时间: 2011-08-11 09:22
用autoexpect吧
作者: expert1    时间: 2011-08-11 09:34
本帖最后由 expert1 于 2011-08-11 09:36 编辑

回复 4# linfenghuaster


    楼主少去清茶这个简单的代码你就会写了,给个sample。供你参考
#!/usr/bin/expect -f
    set timeout 60
    set pwd 123456
    log_user 0
    set ip 172.17.0.54
    spawn ssh $ip

           expect {
                    "not know" {send_user "[exec echo \"not know\"]";exit}

                    "(yes/no)?" {send "yes\r";exp_continue}

                    "password:" {send  "$pwd\r"}

                    "ermission denied, please try again." {

                        send_user "[exec echo \"Errorassword is wrong\"]"

                        exit  }
                    }


expect "#"
send "ifconfig eth0|awk -F 'HWaddr' 'NR==1{print \$NF}'\r"
expect -re {.*\r\n(.*)\r\n} {
set mac $expect_out(1,string)
}
puts "host $ip's mac is : $mac"

expect "#"
send "exit\r"
expect eof
作者: linfenghuaster    时间: 2011-08-11 22:53
回复 6# expert1


   我也做到这点了,关键是我在A端需要得到这个值,而不是只是在B端打印出来,不过还是谢谢。
作者: iamkey9    时间: 2011-08-11 23:44
回复 7# linfenghuaster


    你先看看expect是用来干嘛的
作者: linfenghuaster    时间: 2011-08-12 00:06
回复 8# iamkey9


    初学者嘛,不知道能不能这样用,如果高手说实现不了,那只好放弃了,用SCP实现?
作者: iamkey9    时间: 2011-08-12 00:10
回复 9# linfenghuaster

expert1 已经给你一段 expect 代码,他expect你能读一下代码然后自己做修正:-)
作者: linfenghuaster    时间: 2011-08-12 00:13
回复 10# iamkey9


    在发帖前,我已经实现了,并且是我自己写的,谢谢,我也想过用SCP实现。我也用他的执行过,谢谢。
作者: rdcwayx    时间: 2011-08-12 08:20
既然已经考虑用ssh/scp,就没必要用expect了
  1. login serverA
  2. ssh username@serverB ifconfig -a
复制代码
随后从输出结果中找mac地址
作者: expert1    时间: 2011-08-12 09:21
直接无语
作者: expert1    时间: 2011-08-12 09:29
回复 7# linfenghuaster


    你确定你看懂了我给你的代码的意思?
作者: linfenghuaster    时间: 2011-08-12 23:09
回复 14# expert1

好吧,我没看懂,反正我就是卡在这边了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2