How to make the equivalent of 2> & 1 in Julia
Suppose I have the command
`echo hello`
Now I would like to redirect the STDOUT and STDERR of this to one thread so that it looks like it is 2>&1
in bash. I see two problems with Julia, but still don't understand how she should work in Julia v.0.4.
+3
source to share
1 answer
Refer to help pipeline
, specifically:
run(pipeline(`echo hello`, stdout=STDOUT, stderr=STDOUT))
which will be redirected as one thread (process STDOUT
). It could be different.
Here's the help you can get from the REPL:
help?> pipeline
search: pipeline
pipeline(command; stdin, stdout, stderr, append=false)
Redirect I/O to or from the given command. Keyword arguments specify which
of the command streams should be redirected. append controls whether file
output appends to the file. This is a more general version of the 2-argument
pipeline function. pipeline(from, to) is equivalent to pipeline(from,
stdout=to) when from is a command, and to pipeline(to, stdin=from) when from
is another kind of data source.
Examples:
run(pipeline(`dothings`, stdout="out.txt", stderr="errs.txt"))
run(pipeline(`update`, stdout="log.txt", append=true))
pipeline(from, to, ...)
Create a pipeline from a data source to a destination. The source and
destination can be commands, I/O streams, strings, or results of other
pipeline calls. At least one argument must be a command. Strings refer to
filenames. When called with more than two arguments, they are chained
together from left to right. For example pipeline(a,b,c) is equivalent to
pipeline(pipeline(a,b),c). This provides a more concise way to specify
multi-stage pipelines.
Examples:
run(pipeline(`ls`, `grep xyz`))
run(pipeline(`ls`, "out.txt"))
run(pipeline("out.txt", `grep xyz`))
Also, you must update to at least Julia 0.5. 0.4 is no longer supported and 0.6 will be released shortly.
+7
source to share