func (c *ctx) Env(key string) (string, error) { v, ok := c.env[key] if !ok { return "", trace.Errorf("environment variable '%v' is not set", key) } values := cstrings.SplitComma(v) out := make([]string, len(values)) for i, p := range values { out[i] = quoteYAML(p) } return strings.Join(out, ","), nil }
// Set accepts string with arguments in the form "key:val,key2:val2" func (kv *KeyVal) Set(v string) error { if len(*kv) == 0 { *kv = make(map[string]string) } for _, i := range cstrings.SplitComma(v) { vals := strings.SplitN(i, ":", 2) if len(vals) != 2 { return trace.Errorf("extra options should be defined like KEY:VAL") } (*kv)[vals[0]] = vals[1] } return nil }