dbprocs

Russ Allbery rra at stanford.edu
Sat Apr 15 00:29:33 UTC 2000


Bill Davidsen <davidsen at tmr.com> writes:

> Modern shells provide $(<file) so you don't need cat all the time, as
> well.

Not sure what the definition of modern shell is here.

> Just how old is 2.5.1, I think I was running that back in 93 or so?
> Solaris is up to what, eight?

Solaris 8 isn't out yet.

epic-image:~> sh
$ echo $(echo blah)
syntax error: `(' unexpected
$ uname  -a
SunOS epic-image.Stanford.EDU 5.7 Generic_106541-09 sun4u sparc SUNW,Ultra-60

That's Solaris 7.  I'd say that $() is definitely not portable.  Solaris
(and I think rightfully so) tends not to add new features to Bourne
shell.  In the words of Alan Cox, "The point of standards is that they
don't change."  :)

(Besides, Solaris 2.5.1 was one of the most stable and long-lived versions
of Solaris and a *lot* of people are still running it.)

> I'm not totally rambling, if we feel free to require features in quite
> recent versions of perl, should we at some point stop worrying about
> really old shells,

Sure, I'm not inclined to worry about shells that don't support # as a
comment character, for example.  :)  But it does need to work on all of
the standard modern Unixes, and I'd personally prefer to see it continue
working on SunOS.  Perl still compiles on SunOS after all, provided you
have gcc installed, and there's no reason why INN shouldn't.

> and make the shell a config option, so bash could be used?

My general philosophy on shell scripts is that if you're doing things that
are complex enough to be worrying about portability, you should be using
some other programming language.  Shell scripts are for things that are
simple, fairly straightforward, and not in the slightest bit performance-
critical.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the inn-workers mailing list