github.com/zxy12/go_duplicate_112_new@v0.0.0-20200807091221-747231827200/src/cmd/dist/cmdenv.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"os"
     7  )
     8  
     9  func _cmdenv() {
    10  	path := flag.Bool("p", false, "emit updated PATH")
    11  	plan9 := flag.Bool("9", false, "emit plan 9 syntax")
    12  	windows := flag.Bool("w", false, "emit windows syntax")
    13  	xflagparse(0)
    14  
    15  	format := "%s=\"%s\"\n"
    16  	switch {
    17  	case *plan9:
    18  		format = "%s='%s'\n"
    19  	case *windows:
    20  		format = "set %s=%s\r\n"
    21  	}
    22  
    23  	xprintf(format, "GOARCH", goarch)
    24  	xprintf(format, "GOBIN", gobin)
    25  	xprintf(format, "GOCACHE", os.Getenv("GOCACHE"))
    26  	xprintf(format, "GODEBUG", os.Getenv("GODEBUG"))
    27  	xprintf(format, "GOHOSTARCH", gohostarch)
    28  	xprintf(format, "GOHOSTOS", gohostos)
    29  	xprintf(format, "GOOS", goos)
    30  	xprintf(format, "GOPROXY", os.Getenv("GOPROXY"))
    31  	xprintf(format, "GOROOT", goroot)
    32  	xprintf(format, "GOTMPDIR", os.Getenv("GOTMPDIR"))
    33  	xprintf(format, "GOTOOLDIR", tooldir)
    34  	if goarch == "arm" {
    35  		xprintf(format, "GOARM", goarm)
    36  	}
    37  	if goarch == "386" {
    38  		xprintf(format, "GO386", go386)
    39  	}
    40  	if goarch == "mips" || goarch == "mipsle" {
    41  		xprintf(format, "GOMIPS", gomips)
    42  	}
    43  	if goarch == "mips64" || goarch == "mips64le" {
    44  		xprintf(format, "GOMIPS64", gomips64)
    45  	}
    46  
    47  	if *path {
    48  		sep := ":"
    49  		if gohostos == "windows" {
    50  			sep = ";"
    51  		}
    52  		xprintf(format, "PATH", fmt.Sprintf("%s%s%s", gobin, sep, os.Getenv("PATH")))
    53  	}
    54  }