Re: RFC: use readable $(cmd) syntax instead of unreadable `cmd`
On 11-Feb-07, 13:40 (CST), Russ Allbery <rra@debian.org> wrote:
> Steve Greenland <steveg@moregruel.net> writes:
> > Then you have a lot more problems than `` vs $(). Debian's (and pretty
> > much everybody elses) /bin/sh is POSIX, and allows any valid POSIX
> > construct. Solaris's /bin/sh is ancient Bourne shell, and doesn't
> > support a whole lot of stuff in common use.
>
> Yup. You get very used to writing in the restricted common subset when
> you have software that has to work on Solaris /bin/sh, but remembering
> what's allowed and what isn't is complex enough that it's a lot easier to
> write *all* your shell scripts in that restricted common subset and be
> sure.
I gave up trying to keep track. Instead, I use this fragment at the
beginning of scripts that need to run on Solaris so they have a POSIX
shell:
# Do the solaris dance to get a real shell.
if [ ! -d ~root ] ; then
if exec /usr/xpg4/bin/sh $0 "$@" ; then
echo "No POSIX shell available, call support";
exit
fi
fi
(That's right, Solaris /bin/sh doesn't support the "~user" notation.
There's probably a cheaper test, but this has worked for me.)
After this, use all the functions you want :-)
Steve
--
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world. -- seen on the net
Reply to: