欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Golang 获取当前可执行文件名

程序员文章站 2022-04-27 08:15:24
...

如果编译好的文件修改了文件名,又希望能正确打印usage信息等,就可以通过动态获取当前可执行程序文件名实现:

func main() {
	path,_ := os.Executable()
	_,exec := filepath.Split(path)

	cmd := cobra.Command{
		Use:                        exec,
		Short:                      "",
		Long:                       "",
		Example:                    "",
		Run: func(cmd *cobra.Command, args []string) {
			if len(args) == 0 {
				cmd.Help()
				return
			}
		},
		ValidArgs:                  nil,
		ValidArgsFunction:          nil,
	}
	if err := cmd.Execute(); err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}

编译后修改可执行程序为newName,执行可打印处正确的当前程序名:

./newName
Usage:
  newName [flags]

Flags:
  -h, --help   help for newName
相关标签: go