Is it possible to retain trailing newlines when storing the output of a command in a variable?
$ echo \"foo \" # newline appears after foo foo $ MYVAR=\"$(echo
You can add a sentinel to the end of the stream:
$ my_var=$'foo\n\n' $ captured=$( echo -n "$my_var"; echo -n "x" )
which you then remove:
$ captured=${captured%x} $ echo "$captured"