登录
首页 >  Golang >  Go问答

shell 提示时自动输入定义的密码?

来源:stackoverflow

时间:2024-04-14 14:00:35 214浏览 收藏

哈喽!今天心血来潮给大家带来了《shell 提示时自动输入定义的密码?》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我正在编写一个 golang 应用程序,它将运行一些 bash 脚本。在其中一个命令中,脚本将以 sudo 身份运行,并且需要我手动输入密码。

请问如何实现自动发送密码?

cmd := exec.command("/bin/sh", "-c", "knife bootstrap xxx.xxx.xxx.xxx -x user_name --sudo -i ~/.ssh/id_rsa.pub --node-name node_name -p password -c ~/chef-repo/.chef/config.rb")

stdin, err := cmd.stdinpipe()
if err != nil {
    log.panic(err)
}

go func() {
    defer stdin.close()
    io.writestring(stdin, "password")
}()

我目前陷入了 knife bootstrap 将在 chef 客户端提示输入密码的步骤。

[email protected]'s password:

我无法使用expect捕获该字符串并提供密码,它似乎与终端中输出的常见字符串不同。


解决方案


我认为你需要使用 sudo -S

今天关于《shell 提示时自动输入定义的密码?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>