简单使用

Demo

package main

import (
	"flag"
	"fmt"

	"gitee.com/liumou_site/glbm"
)

var (
	server string
	port   int
	passwd string
	net    string
	next   bool
	home   string
)

func main() {
	_, _, _, user_dir := glbm.GetUserInfo(false)
	flag.StringVar(&server, "ip", "10.18.26.1", "设置服务器IP地址")
	flag.IntVar(&port, "port", 80, "设置服务器端口")
	flag.StringVar(&passwd, "pd", "Gxxc@123", "设置系统密码")
	flag.StringVar(&net, "n", "w", "设置网络环境(w/z)")
	flag.BoolVar(&next, "next", false, "是否显示步骤进行手动确认")
	flag.StringVar(&home, "home", user_dir, "设置用户主目录")

	flag.Parse()
	fmt.Println(server)
	fmt.Println(port)
	fmt.Println(next)
}

效果

PS D:\DATA\git\GoLang\GoToinstall> go run .\main.go -h    
Usage of C:\Users\Y\AppData\Local\Temp\go-build771855411\b001\exe\main.exe:
  -home string
        设置用户主目录 (default "C:\\Users\\Y")
  -ip string
        设置服务器IP地址 (default "10.18.26.1")
  -n string
        设置网络环境(w/z) (default "w")
  -next
        是否显示步骤进行手动确认
  -pd string
        设置系统密码 (default "Gxxc@123")
  -port int
        设置服务器端口 (default 80)
PS D:\DATA\git\GoLang\GoToinstall> 
PS D:\DATA\git\GoLang\GoToinstall> go run .\main.go -next  
10.18.26.1
80
true

设置程序名称

Demo

package main

import (
	"flag"
	"fmt"
	"os"
	"runtime"

	"gitee.com/liumou_site/glbm"
	"gitee.com/liumou_site/gns"
	"gitee.com/liumou_site/logger"
)

var (
	server  string //服务器地址
	port    int    // 服务端口
	passwd  string // 系统密码
	net     string // 网络类型w/z
	next    bool   // 是否手动确认下一步
	home    string // 用户主目录
	browser bool   // 是否打开浏览器
)

func main() {
	_, _, _, user_dir := glbm.GetUserInfo(false)
	gf := flag.NewFlagSet("i", flag.ExitOnError)
	gf.StringVar(&server, "ip", "10.18.26.1", "设置服务器IP地址")
	gf.IntVar(&port, "port", 80, "设置服务器端口")
	gf.StringVar(&passwd, "pd", "123", "设置系统密码")
	gf.StringVar(&net, "n", "w", "设置网络环境(w/z)")
	gf.BoolVar(&next, "next", false, "显示步骤进行手动确认")
	gf.StringVar(&home, "home", user_dir, "设置用户主目录")
	gf.BoolVar(&browser, "b", false, "自动打开网页")
	args := os.Args
	gf.Parse(args[1:])
	// gf.Parse()
	// fmt.Println(args)
	// if len(args) == 0 {
	// 	gf.Usage()
	// 	return
	// }
	fmt.Println(server)
	fmt.Println(port)
	fmt.Println(next)
	logger.Debug("当前架构", runtime.GOARCH)
	logger.Debug("当前系统", runtime.GOOS)
	net_check := gns.GnsConfig()
	gns.Version()
	net_status := net_check.PingStatus(server)
	if net_status {
		logger.Info("服务器连接正常")
	} else {
		logger.Error("服务器连接异常: ", server)
		// os.Exit(1)
	}
}

效果

liumou@liumou-PC:/media/liumou/Software/DATA/git/GoLang/GoToinstall$ go run main.go -h
Usage of i:
  -b    自动打开网页
  -home string
        设置用户主目录 (default "/home/liumou")
  -ip string
        设置服务器IP地址 (default "10.18.26.1")
  -n string
        设置网络环境(w/z) (default "w")
  -next
        显示步骤进行手动确认
  -pd string
        设置系统密码 (default "Gxxc@123")
  -port int
        设置服务器端口 (default 80)