Stupid shell tricks
D J Hawkey Jr
hawkeyd at visi.com
Mon Jul 21 06:05:06 PDT 2003
I got it!
> I'll cut right to it: I'm looking for a technique to do "atomic writes"
> in a shell (sh(1)) script, playing with the trap builtin. It goes something
> like this:
>
> 1: #!/bin/sh
> 2:
> 3: trapper ()
> 4: {
> 5: rm -f $TMPFILE
> 6: exit
> 7: }
> 8:
> 9: trap trapper HUP PIPE INT QUIT SEGV
> 10:
> 11: ...
> 12:
> 13: while read LINE; do
> 14: trap "" HUP PIPE INT QUIT SEGV
> 15: binary_that_writes $LINE
> 16: ...
> 17: done <$TMPFILE
> 18:
> 19: trapper
I ditched line 14, and changed line 15 to:
sh -c "trap \"\" HUP PIPE INT QUIT SEGV; binary_that_writes $LINE"
The explanation of "-T" in the man page gave me the clue.
Movin' right along,
Dave
--
______________________ ______________________
\__________________ \ D. J. HAWKEY JR. / __________________/
\________________/\ hawkeyd at visi.com /\________________/
http://www.visi.com/~hawkeyd/
More information about the freebsd-questions
mailing list