New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nice way to handle env variable? #80
Comments
would |
I'm not seeing where this adds much value over, for example: script.Exec("sh -c 'export MSG=hello; echo $MSG'").Stdout() |
on windows that syntax is not possible |
That's a fair point, but what about |
It works but I think it would cleaner to have it inline and builtin to the module. |
Useful abstractions, as John Ousterhout says, should be deep: they should conceal lots of functionality behind a simple API. Is there any way we could do more than simply call |
I think it might be nice to not use Note that the wrapper would probably need to properly escape the environment variables, so it wouldn't be as simple as a |
That sounds good, @josegonzalez—can you write a short piece of example code to show what you mean? |
Maybe something like the following: environ := map[string]string{
"HASURA_GRAPHQL_JWT_SECRET": "{\"type\": \"HS256\", \"key\": \"256BITKEYHERE$\"}"
}
contents, err := script.Env(env).Exec("env") |
Okay, but this looks pretty similar to: os.Setenv("HASURA_GRAPHQL_JWT_SECRET", `{"type": "HS256", "key": "256BITKEYHERE$"}`)
contents, err := script.Exec("env") Can you describe what problem you think an |
os.Setenv would be global to the entire script this would allow it be local to the pipe |
Okay, but why is that important? Can you think of a situation where you'd want to set some environment variable for a command run by a pipe, but not for the program as a whole? |
I'm not sure of the usecases but it just allows the same flexibility that the bash syntax allows but for all OSs |
Well, if there are no use cases for something, that's just another way of saying we don't need it, isn't it? There are lots of feature ideas that aren't bad in themselves—they're great features! It's just that we don't need them, so we don't add them. |
Closing pending real use cases. |
Some methods to set environment varialbes for single command, instead of this:
Maybe in old shell way:
The text was updated successfully, but these errors were encountered: