Files
Otter/test.go
2015-11-06 17:31:36 +08:00

35 lines
653 B
Go

package main
import (
"io"
"fmt"
"strings"
"github.com/carmark/pseudo-terminal-go/terminal"
)
func main() {
term, err := terminal.NewWithStdInOut()
if err != nil {
panic(err)
}
defer term.ReleaseFromStdInOut() // defer this
fmt.Println("Ctrl-D to break")
term.SetPrompt("root@hello: # ")
line, err:= term.ReadLine()
for {
if err == io.EOF {
term.Write([]byte(line))
fmt.Println()
return
}
if (err != nil && strings.Contains(err.Error(), "control-c break")) || len(line) == 0{
line, err = term.ReadLine()
} else {
term.Write([]byte(line+"\r\n"))
line, err = term.ReadLine()
}
}
term.Write([]byte(line))
}