我试图使用基本bash命令read
从键盘捕获单个字符。但是,即使我尝试了几种方法,也很难获得输出结果。无法从Golang运行bash`read`命令
示例代码:
fmt.Println(exec.Command("read", "-t", "5", "-n", "1").Output())
它的意思是“等待5秒钟就可以从键盘1个输入字符”。从上面的代码我希望看到我输入的字符一起打印出来与它的错误,但我会得到什么是
输出:
[] exit status 1
这个输出只是立即较小超过1秒,其冲突到"-t", "5"
印刷指示等待5秒钟的指令read
。我尝试在1秒内键入一些字符,但似乎根本不起作用。
顺便说一句,如果尝试这种
fmt.Println(exec.Command("echo", "\"Hi!\"").Output())
输出:
[34 104 105 34 10] <nil>
在这里简单echo
在这里似乎工作。
阅读是一个bash命令,而不是您的PATH中的可执行文件,如echo。也许调用内部bash的内容可能会起作用。我建议找一个Go-Only解决方案。 – Volker
@Volker我只是想捕获'空格键'这就是全部。你有任何建议,只需一个简单的唯一解决方案? – fronthem