elvish/pkg/eval/builtin_fn_env.go

33 lines
591 B
Go
Raw Normal View History

2018-03-03 12:54:20 +08:00
package eval
import (
"errors"
"os"
)
// ErrNonExistentEnvVar is raised by the get-env command when the environment
// variable does not exist.
var ErrNonExistentEnvVar = errors.New("non-existent environment variable")
2018-03-03 12:54:20 +08:00
func init() {
addBuiltinFns(map[string]any{
2018-03-03 12:54:20 +08:00
"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 {
return "", ErrNonExistentEnvVar
2018-03-03 12:54:20 +08:00
}
return value, nil
}