Addenda to recent articles 200811
- Earlier I discussed an interesting technique for flag variables in
Bourne shell programs. I did a little followup research.
I looked into several books on Unix shell programs, including:
- Linux Shell Scripting with Bash (Burtch)
- Unix Shell Programming 3ed. (Kochan and Wood)
- Mastering UNIX Shell Scripting (Michael)
All of these contained examples of flag variables in Bourne shell, and
none used the technique I described. (In fact, most books wanted to
switch to if [ ... ]; right away, or even to pretend that
that was the only possible syntax.) So it may be obvious, but it
doesn't seem to be widely used. I also looked into The Unix
Programming Environment, by Kernighan and Pike, which is the
book from which I learned shell programming, to see if it was there.
I couldn't find any examples of boolean variables at all! But there
were surprisingly few shell programs; they switched to awk rather
quickly.
But two readers sent me puzzled emails, to tell me that they had been
using the true/false technique for years are were
surprised that I found it surprising. Brooks Moses says that at his
company they have a huge build system in Bourne shell, and they are
trying to revise the boolean tests to the style I proposed.
And Tom
Limoncelli reports that code by Bill Cheswick and Hal Burch (Bell Labs
guys) often use this technique. Tom speculates that it's common among
the old farts from Bell Labs.
Also, Adrián Pérez writes
that he has known
about this for years.
It's tempting to write to Kernighan to ask about it, but so far I have
been able
to resist.
- My first meta-addendum: In October's
addenda I summarized the results of a paper of Coquand,
Hancock, and Setzer about the inductive strength of various theories.
This summary was utterly wrong. Thanks to Charles Stewart and to
Peter Hancock for correcting me.
The topic was one I had hoped to get into anyway, so I may discuss it
at more length later on.
[Other articles in category /addenda]
permanent link
|