Am 03.12.22 um 06:09 schrieb Eric Sunshine: > On Fri, Dec 2, 2022 at 11:51 AM René Scharfe <l.s.r@xxxxxx> wrote: >> Use tee(1) to replace two calls of cat(1) for writing files with >> different line endings. That's shorter and spawns less processes. >> [...] >> Signed-off-by: René Scharfe <l.s.r@xxxxxx> >> --- >> diff --git a/t/t3920-crlf-messages.sh b/t/t3920-crlf-messages.sh >> @@ -9,8 +9,7 @@ LIB_CRLF_BRANCHES="" >> create_crlf_ref () { >> - cat >.crlf-orig-$branch.txt && >> - cat .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt && >> + tee .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt && > > This feels slightly magical and more difficult to reason about than > using simple redirection to eliminate the second `cat`. Wouldn't this > work just as well? > > cat >.crlf-orig-$branch.txt && > append_cr <.crlf-orig-$branch.txt >.crlf-message-$branch.txt && It would work, of course, but this is the exact use case for tee(1). No repetition, no extra redirection symbols, just an nicely fitting piece of pipework. Don't fear the tee! ;-) (I'm delighted to learn from https://en.wikipedia.org/wiki/Tee_(command) that PowerShell has a tee command as well.) > (Plus, this avoids introducing `tee` into the test suite, more or > less. The few existing instances are all from the same test author and > don't seem particularly legitimate -- they appear to be aids the > author used while developing the test to be able to watch its output > as it ran.) I agree that the tee calls in t1001 and t5523 are unnecessary. René