首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用GoLang以编程方式禁用来自Mac终端的回显?

如何使用GoLang以编程方式禁用来自Mac终端的回显?
EN

Stack Overflow用户
提问于 2018-05-25 00:42:41
回答 1查看 346关注 0票数 0

我正在尝试使用GoLang从我的Mac终端禁用回声。我试着用

代码语言:javascript
复制
exec.Command("stty", "-F", "/dev/tty", "-echo").Run()

它适用于linux终端,但不适用于Mac和Windows。在Mac中,在bash和zsh中,我手动尝试使用

代码语言:javascript
复制
stty -echo
stty -echoctl

两种方法都不起作用。

有人能帮上忙吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-10-14 23:56:58

虽然这不能直接回答为什么您的示例不起作用的问题,但这里是如何从终端读取秘密而不回显它(这里是签名和文档的链接- link):

代码语言:javascript
复制
package main

import (
    "fmt"
    "syscall"

    "golang.org/x/crypto/ssh/terminal"
)

func main() {
    fmt.Println("Your password: ")
    bytepw, err := terminal.ReadPassword(int(syscall.Stdin))
    if err != nil {
        panic(err)
    }
    fmt.Println()
    fmt.Printf("Your password was '%s'\n", string(bytepw))
}

预期输出:

代码语言:javascript
复制
mac:~ jabbson$ go run testpass.go
Your password:

Your password was 'mypass'
mac:~ jabbson$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50514342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档