LinuxSA Mailing list archives

Index: [thread] [date] [subject] [author]
  From: Daryl Tester <dt@picknowl.com.au>
  To  : Jake Hawkes <jake@infinitylimited.net>
  Date: Fri, 28 Apr 2000 08:57:58 +0930

Re: Protecting files against power failure

Jake Hawkes wrote:

>>> exec 5>foo 6<foo

> ok, I grok this, but why does it work when executed one by one at the
> prompt? In a shell script - sure, but at the prompt?

Same reason for both - the "exec 5>foo 6<foo" applies to the _current_
shell.  When you execute "cat <&6", the shell is actually duplicating
file descriptor #6 onto #0 (standard input), because that's what <&6
means.  cat then reads to EOF on its standard input, then returns.
Upon returns, file descriptor 6 is at the end of file mark.  You could
even do something like ...

exec 5<foo 6>foo
rm foo
echo "hi" >&5
cat <&6
echo "there" >&5
cat <&6
# etc.

to your little heart's content.  I suspect that if you could pass
this descriptor into your favourite programming/scripting language,
you could even rewind it back to the beginning of the non-existant
file and replay its contents (although, of course, this shouldn't
affect the shell's file descriptor - care to hazard a guess why?).


Regards,
  Daryl Tester

-- 
LinuxSA WWW: http://www.linuxsa.org.au/  IRC: #linuxsa on irc.linux.org.au
To unsubscribe from the LinuxSA list:
  mail linuxsa-request@linuxsa.org.au with "unsubscribe" as the subject


Index: [thread] [date] [subject] [author]
Return to the LinuxSA Mailing List Information Page