package main import ( "fmt" "runtime/debug" "github.com/spf13/cobra" ) // version is set at build time: -ldflags "-X main.version=v1.2.3". var version = "" // buildVersion falls back to the module version for `go install` builds. func buildVersion() string { if version != "" { return version } if info, ok := debug.ReadBuildInfo(); ok && info.Main.Version != "" && info.Main.Version != "(devel)" { return info.Main.Version } return "dev" } func versionCmd() *cobra.Command { return &cobra.Command{ Use: "version", Short: "Print the netssh version", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { fmt.Fprintf(cmd.OutOrStdout(), "netssh %s\n", buildVersion()) }, } }