免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5021 | 回复: 14
打印 上一主题 下一主题

怎么用 expect 获取到目的端的mac 地址,然后返回给源端? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-10 14:26 |只看该作者 |倒序浏览
A AUTOSSH 到 B ,然后执行命令获取到B的MAC地址,返回给A ,谢谢哈。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
2 [报告]
发表于 2011-08-10 14:39 |只看该作者
回复 1# linfenghuaster


   
置顶帖。

论坛徽章:
0
3 [报告]
发表于 2011-08-10 23:00 |只看该作者
回复  linfenghuaster


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



    最近对tcl的热情很高嘛……

论坛徽章:
0
4 [报告]
发表于 2011-08-10 23:12 |只看该作者
没人回答啊,嗨。求高手

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
5 [报告]
发表于 2011-08-11 09:22 |只看该作者
用autoexpect吧

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
6 [报告]
发表于 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

论坛徽章:
0
7 [报告]
发表于 2011-08-11 22:53 |只看该作者
回复 6# expert1


   我也做到这点了,关键是我在A端需要得到这个值,而不是只是在B端打印出来,不过还是谢谢。

论坛徽章:
0
8 [报告]
发表于 2011-08-11 23:44 |只看该作者
回复 7# linfenghuaster


    你先看看expect是用来干嘛的

论坛徽章:
0
9 [报告]
发表于 2011-08-12 00:06 |只看该作者
回复 8# iamkey9


    初学者嘛,不知道能不能这样用,如果高手说实现不了,那只好放弃了,用SCP实现?

论坛徽章:
0
10 [报告]
发表于 2011-08-12 00:10 |只看该作者
回复 9# linfenghuaster

expert1 已经给你一段 expect 代码,他expect你能读一下代码然后自己做修正:-)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP