Hello,

Am 31.10.2012 00:21, schrieb Hans Hagen:
> This assumes control over the login shell as well as control over what
> the launchers of system processes use. I must admit that till now I
> always assumed some stability in this, which is probably okay as long
> as one sticks to one specific distribution (of linux).

There is stability in that /bin/sh always must be a (posix compatible)
bourne (not again) style shell!

> I think that the main problem is that #! /bin/sh can mean anything
> (although in your case I suppose you expect it to be the bourne shell).

A shell available as /bin/sh can have far more features but you can not
rely on them!

> So the question is, should the scripts that come with context (like
> the installer) be explicit and become #! /bin/bash ?

If the scripts do use bashisms they have to be declared with #!
/bin/bash.  So you do have this options:

* rewrite the scripts to be truly posix and use #! /bin/sh (the dash
links from another mail may help)
* leave the scripts alone with all their bashisms and declare them with
#! /bin/bash

My advice on this is: in all shellscripts you write, declare the shell
that you are testing the script with -- so on most linux systems (and in
windows unix environments like msys) use /bin/bash and only change this
to /bin/sh if you have to. For example to make it compatible to a
minimal system (a jeos VM comes to mind) that is not supposed to provide
/bin/bash.

Uwe

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to