fronthem
fronthem

Reputation: 4139

Run shell command with "redirecting of an output from a subshell" statement within go

According to run bash command in new shell and stay in new shell after this command executes, how can I run command:

bash --rcfile <(echo "export PS1='> ' && ls")

within golang? I've tried many combinations of exec.Command() but they did't work. For example:

exec.Command("bash", "--rcfile", `<("echo 'ls'")`)

I've also read this os, os/exec: using redirection symbol '<' '>' failed, but I think maybe my case is a bit more complicated.

Upvotes: 2

Views: 777

Answers (1)

Adrian
Adrian

Reputation: 46433

You're almost there - I think the confusion is you're using piping to call bash, which means you actually need to call bash using bash:

exec.Command("bash", "-c", `bash --rcfile <(echo "export PS1='> ' && ls")`)

Upvotes: 3

Related Questions