我想在按下" TAB"时自动完成我的命令。关键" \ t"按" ENTER"并执行命令key" \ r?\ n"。这段代码例如:
package main
import (
"bufio"
"fmt"
)
func main() {
reader := bufio.NewReader(os.Stdin)
command, err := reader.ReadString('\n')
if err != nil {
fmt.Printf("%s\n", err)
} else {
fmt.Printf("%s\n", command)
}
}
答案 0 :(得分:1)
如果你想要类似bash的功能,那么它比使用bufio阅读器要复杂得多。
答案 1 :(得分:0)
按照完整包master branch
确保将 Go 包的 bin 路径添加到 ~/.bashrc
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc
已针对 go1.16.3 版本进行测试
go get -u github.com/posener/complete/v2/gocomplete
COMP_INSTALL=1 gocomplete
source ~/.bashrc