57 lines
749 B
Go
57 lines
749 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/spf13/pflag"
|
|
"io"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
func init() {
|
|
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile | log.Lmsgprefix)
|
|
for _, f := range flags {
|
|
flagInit(&f)
|
|
}
|
|
cmdinit()
|
|
}
|
|
|
|
func main() {
|
|
pflag.Parse()
|
|
flagExt()
|
|
if config.portName == "" {
|
|
getCliFlag()
|
|
}
|
|
ports, err := checkPortAvailability(config.portName)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
printUsage(ports)
|
|
os.Exit(0)
|
|
}
|
|
|
|
// 日志文件输出检测
|
|
checkLogOpen()
|
|
|
|
//串口设备开启
|
|
OpenSerial()
|
|
|
|
defer CloseSerial()
|
|
// 打开文件服务
|
|
OpenTrzsz()
|
|
|
|
defer CloseTrzsz()
|
|
|
|
//开启转发
|
|
OpenForwarding()
|
|
|
|
// 获取终端输入
|
|
go input(in)
|
|
|
|
if len(outs) != 1 {
|
|
out = io.MultiWriter(outs...)
|
|
}
|
|
for {
|
|
output()
|
|
}
|
|
}
|