如何使用golang中的系统调用实现以下命令行?
read -s -p "Enter Password: " mypassword
也就是说,在读取密码时设置哪些附加选项,以避免输入被回显,并强制仅以交互方式提供输入。
谢谢。
发布于 2014-01-03 05:50:16
您可以从包terminal.ReadPassword()
中使用terminal
。
func ReadPassword(fd int) ([]byte, error)
ReadPassword
在没有本地回声的情况下从终端读取一行输入。这通常用于输入密码和其他敏感数据。返回的切片不包括\n。
包终端提供了处理终端的支持功能,就像UNIX系统中常见的那样。
更多内容如下:
发布于 2014-01-03 05:01:28
您可以交互地对密码使用expect命令:
expect "Enter Password:" {
send -- "$PASSWORD_VALUE\r"
例如:当使用sftp时,请使用下面的脚本
sh expect.sh
PASSWORD_VALUE="password"
spawn -noecho sftp username@ip
expect "Enter Password:" {
send -- "$PASSWORD_VALUE\r"
https://stackoverflow.com/questions/20897895
复制