【发布时间】:2015-10-20 12:48:54
【问题描述】:
我正在用 Go 编写一个命令行工具,其中一个命令将查询用户的用户名和密码(并将其保存到主目录内的配置文件中)。
目前我不知道如何将输入的密码替换为“*”,甚至不知道如何像许多命令行工具那样不输入任何内容。
在使用golang时如何做到这一点?
【问题讨论】:
我正在用 Go 编写一个命令行工具,其中一个命令将查询用户的用户名和密码(并将其保存到主目录内的配置文件中)。
目前我不知道如何将输入的密码替换为“*”,甚至不知道如何像许多命令行工具那样不输入任何内容。
在使用golang时如何做到这一点?
【问题讨论】:
在你来之前把这些东西输入谷歌。
您可以通过执行
stty -echo来关闭回声然后stty echo读入密码后重新开启
或
刚刚在#go-nuts 邮件列表中看到了一封邮件。有人写得很 一个简单的 go 包被使用。你可以在这里找到它: https://github.com/howeyc/gopass
是这样的:
package main import "fmt" import "github.com/howeyc/gopass" func main() { fmt.Printf("Password: ") pass := gopass.GetPasswd() // Do something with pass }
【讨论】: