github.com/elves/Elvish@v0.12.0/eval/builtin_fn_env.go (about) 1 package eval 2 3 import ( 4 "errors" 5 "os" 6 ) 7 8 var errNonExistentEnvVar = errors.New("non-existent environment variable") 9 10 func init() { 11 addBuiltinFns(map[string]interface{}{ 12 "has-env": hasEnv, 13 "get-env": getEnv, 14 "set-env": os.Setenv, 15 "unset-env": os.Unsetenv, 16 }) 17 } 18 19 func hasEnv(key string) bool { 20 _, ok := os.LookupEnv(key) 21 return ok 22 } 23 24 func getEnv(key string) (string, error) { 25 value, ok := os.LookupEnv(key) 26 if !ok { 27 return "", errNonExistentEnvVar 28 } 29 return value, nil 30 }