編譯 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中