This is slightly inelegant, as the old style echo foo echo blah chmod a+x $3 doesn't work anymore; the stuff you wrote to stdout didn't end up in $3. You can rewrite it as: exec >$3 echo foo echo blah chmod a+x $3 Anyway, it's better this way, because now we can tell the difference between a zero-length $3 and a nonexistent one. A .do script can thus produce either one and we'll either delete the target or move the empty $3 to replace it, whichever is right. As a bonus, this simplifies our detection of whether you did something weird with overlapping changes to stdout and $3.
18 lines
150 B
Text
18 lines
150 B
Text
c
|
|
c.c
|
|
c.c.c
|
|
c.c.c.b
|
|
c.c.c.b.b
|
|
d
|
|
test.args
|
|
test2.args
|
|
/passfail
|
|
/mode1
|
|
/makedir
|
|
/makedir.log
|
|
/chdir1
|
|
/silence
|
|
/silence.do
|
|
/touch1
|
|
/touch1.do
|
|
/deltest2
|