我試圖使用基本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