elvish/eval/builtin_fn_env.go

31 lines
493 B
Go
Raw Normal View History

2018-03-03 12:54:20 +08:00
package eval
import (
"errors"
"os"
)
var errNonExistentEnvVar = errors.New("non-existent environment variable")
2018-03-03 12:54:20 +08:00
func init() {
addBuiltinFns(map[string]interface{}{
"has-env": hasEnv,
"get-env": getEnv,
"set-env": os.Setenv,
"unset-env": os.Unsetenv,
})
}
func hasEnv(key string) bool {
_, ok := os.LookupEnv(key)
return ok
}
func getEnv(key string) (string, error) {
value, ok := os.LookupEnv(key)
if !ok {
2018-03-03 12:56:35 +08:00
return "", ErrNonExistentEnvVar
2018-03-03 12:54:20 +08:00
}
return value, nil
}