温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

golang expect包怎么使用

发布时间:2022-02-09 15:10:34 来源:亿速云 阅读:377 作者:iii 栏目:开发技术

本文小编为大家详细介绍“golang expect包怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang expect包怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

golang expect包怎么使用

这里如果使用su切换用户,代码比较简单,如下:

//code from www.361way.com
package main
import gexpect "github.com/ThomasRooney/gexpect"func main() {
child, err := gexpect.Spawn("su - zabbix")if err != nil {
panic(err)
}
child.Expect("Password")
child.SendLine("123456")
child.Interact()
child.Close()
}

不过这个包在使用后,可以正常切换用户,不过缺点也比较多:

  • 无法tab补全
  • 无法正常按pty Terminal size大小输出(只能输出一部分,有点类似于虚拟化virsh console连接后的情况)
  • 无法使用ctrl +D 快捷键退出,只能使用ctrl + c退出
  • 执行过的命令会再输入一遍

在项目的issues 上已经有人提出该问题。项目近两年来并没有更新。

更多expect项目(各种语言版本的)可以参考维基百科 ,不过维基百科上提到的goexpect、go-expect 两个模块经测试并不能成功。

读到这里,这篇“golang expect包怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI