天天看點

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中