gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 03:45:14 26 4
gpt4 key购买 nike

我正在编写一个将运行一些 bash 脚本的 Golang 应用程序。在其中一个命令中,脚本将作为 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 将在厨师客户端提示以下输入密码的步骤。

user_name@xxx.xxx.xxx.xxx's password:

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

最佳答案

我认为你需要使用 sudo -S

echo password | sudo -S vim a.txt

关于go - shell提示时自动输入定义的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57072906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com