linux expect 实例

1.expect如何读取一行一行读取文件

#!/usr/bin/expect -f 
set timeout -1

set ipfd [open "./iphost.txt" r]
while {1} {
    set sship [gets $ipfd]
    if {[eof $ipfd]} {
        close $ipfd
        send_user "close fd \n"
        break
    }


    # ip proc
    puts stdout $sship    
}

#expect eof  #添加该行会因为之前设置了无限超时而不能执行

2. expect 发送命令导致脚本无法继续运行

#!/usr/bin/expect
set timeout -1

set sship "127.0.0.1"

spawn sudo ssh $sship
expect "#"
send "cd libs \r"
expect "libs]#"
send "make > $sship.log 2>&1 \r"              # send "make \r"使得远程服务器返回大量交互信息,导致ssh 链路断开,后续脚本无法执行;解决方法采用重定向信息到日志文件
expect "libs]#"

send_user " make ok \n"




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值