天天看点

Golang打包运行编译 Linux 平台的64位可执行程序编译 Mac 平台的64位可执行程序运行

编译 Linux 平台的64位可执行程序

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
           

编译 Mac 平台的64位可执行程序

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
           

编译 Windows 平台的64位可执行程序

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
           

注:Windows 平台下需要使用 set 设置变量,如:

SET CGO_ENABLED=0 
SET GOOS=linux 
SET GOARCH=amd64 
go build main.go
           

GOOS

目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows

GOARCH

目标可执行程序操作系统构架,包括 386,amd64,arm

CGO_ENABLED

指明 cgo 工具是否可用的标识

运行

linux 平台

nohup ./xx 2>&1 &
           

nohup 加在一个命令的最前面,表示不挂断的运行命令,注意并没有后台运行的功能

& 加在一个命令的最后面,表示这个命令放在后台执行

shell

0 表示标准输入

1 表示标准输出

2 表示标准错误输出

> 默认为标准输出重定向,与 1> 相同

2>&1 意思是把 标准错误输出 重定向到 标准输出.

&>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中