package main
import("flag""fmt""gitee.com/liumou_site/glbm")var(
server string
port int
passwd string
net string
next bool
home string)funcmain(){_,_,_, 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 -next10.18.26.1
80true
设置程序名称
Demo
package main
import("flag""os""gitee.com/liumou_site/gns")var(
ip string
port int
mode string
https bool
u bool
url string
get bool
debug bool
timeout int)funcmain(){var status bool
gf := flag.NewFlagSet("GNS", flag.ExitOnError)
gf.StringVar(&ip,"i","liumou.site","设置服务器IP地址")
gf.IntVar(&port,"p",80,"设置服务器端口")
gf.BoolVar(&get,"g",false,"是否使用GET方式请求(默认POST)")
gf.BoolVar(&https,"s",false,"启用HTTPS(使用ip+端口的场景此选项才有效)")
gf.BoolVar(&u,"u",false,"使用URL方式传入测试对象")
gf.BoolVar(&debug,"d",false,"是否显示Debug详情")
gf.IntVar(&timeout,"t",5,"设置超时(秒)时间")
args := flag.Args()iflen(args)==0{
gf.Usage()return}
gf.Parse(args[1:])
mode ="POST"if get {
mode ="GET"}
gp :=new(gns.GnsConfig)if u {
status = gp.HttpStatusUrl(url, mode, timeout)}else{
status = gp.HttpStatus(ip, mode, port, timeout, https)}if status {
os.Exit(0)}else{
os.Exit(1)}}
效果
liumou@liumou-PC:~/LinuxData/git/golang/dmeo$ go run gns.go -h
Usage of GNS:
-d 是否显示Debug详情
-g 是否使用GET方式请求(默认POST)-i string
设置服务器IP地址 (default "liumou.site")-p int
设置服务器端口 (default 80)-s 启用HTTPS(使用ip+端口的场景此选项才有效)-t int
设置超时(秒)时间 (default 5)-u 使用URL方式传入测试对象