github.com/richardwilkes/toolbox@v1.121.0/user.go (about) 1 // Copyright (c) 2016-2024 by Richard A. Wilkes. All rights reserved. 2 // 3 // This Source Code Form is subject to the terms of the Mozilla Public 4 // License, version 2.0. If a copy of the MPL was not distributed with 5 // this file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 // 7 // This Source Code Form is "Incompatible With Secondary Licenses", as 8 // defined by the Mozilla Public License, version 2.0. 9 10 package toolbox 11 12 import ( 13 "cmp" 14 "os" 15 "os/user" 16 ) 17 18 // CurrentUserName returns the current user's name. This will attempt to retrieve the user's display name, but will fall 19 // back to the account name if it isn't available. 20 func CurrentUserName() string { 21 if u, err := user.Current(); err == nil { 22 return cmp.Or(u.Name, u.Username) 23 } 24 return os.Getenv("USER") 25 }