a1150245cc
Movified from686be57d0a
, and re-ran gofmt again to address for files not present in 20.10 and vice-versa. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit686be57d0a
) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
39 lines
982 B
Go
39 lines
982 B
Go
//go:build !windows
|
|
// +build !windows
|
|
|
|
package homedir // import "github.com/docker/docker/pkg/homedir"
|
|
|
|
import (
|
|
"os"
|
|
"os/user"
|
|
)
|
|
|
|
// Key returns the env var name for the user's home dir based on
|
|
// the platform being run on
|
|
func Key() string {
|
|
return "HOME"
|
|
}
|
|
|
|
// Get returns the home directory of the current user with the help of
|
|
// environment variables depending on the target operating system.
|
|
// Returned path should be used with "path/filepath" to form new paths.
|
|
//
|
|
// If linking statically with cgo enabled against glibc, ensure the
|
|
// osusergo build tag is used.
|
|
//
|
|
// If needing to do nss lookups, do not disable cgo or set osusergo.
|
|
func Get() string {
|
|
home := os.Getenv(Key())
|
|
if home == "" {
|
|
if u, err := user.Current(); err == nil {
|
|
return u.HomeDir
|
|
}
|
|
}
|
|
return home
|
|
}
|
|
|
|
// GetShortcutString returns the string that is shortcut to user's home directory
|
|
// in the native shell of the platform running on.
|
|
func GetShortcutString() string {
|
|
return "~"
|
|
}
|