A very common thing I need to do when writing bash is to collect both the stdout and stderr of a command. This can be done relatively reasonably with files but it would be very attractive to be able to redirect these directly to a variable some how.
cmd >@stdout 2>@stderr exit_code=$? where "stdout" and "stderr" here are variables. This or equivalent would be very nice. currently I find myself reusing this pattern over and over: err_file="$(mktemp)" var_stdout="$(cmd 2>"$err_file)" exit_code=$? var_stderr="$(<"$err_file")" rm "$err_file" and it just doesn't have the same ring to it! Is there a snowballs chance? Thanks for your time!