gpt4 book ai didi

Go Build 标签 - 在 Windows 上获取时间戳

转载 作者:IT王子 更新时间:2023-10-29 02:04:49 26 4
gpt4 key购买 nike

我看到了下面的设置构建版本的命令

go build -ldflags "-X main.minversion `date -u +.%Y%m%d%.H%M%S`" service.go

但我无法让时间戳部分在 Windows 上工作!

我正在使用带有以下参数的 go 1.5...

build -i -ldflags "-X main.SERVER_NAME=MFFP -X main.VERSION=1.0.0 -X main.BUILD_DATE=`date -u +.%Y%m%d%.H%M%S`"

错误是日期部分

这个错误系统相关吗?有人在 Windows 上试过这个吗?

谢谢!

最佳答案

*nix 系统上的命令使用反引号命令替换。 date 是 POSIX 内置的,` 中的任何内容都被解释为 shell 命令并被其值替换。

cmd.exe 根本不会在反引号内进行命令替换,有一些方法可以使用 for/F delims="" 来完成同样的事情,也就是Windows shell 中最强大的命令,但它非常笨拙。也许改用支持 $(command) 语法的 powershell?

PS C:\users\adsmith> go build -i -ldflags "-X main.SERVER_NAME=MFFP -X main.VERSION=1.0.0 -X main.BUILD_DATE=$(Get-Date -uformat .%Y%m%d%.H%M%S)"

您可能需要尝试一下格式——我不确定在 POSIX 上它应该是什么样子。这输出:

.20160107.111641
// Jan 7th 2016, 11:16:41

关于Go Build 标签 - 在 Windows 上获取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34662420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com