On Mon, 2005-01-31 at 14:11 -0600, Jeff Vian wrote:
On Mon, 2005-01-31 at 17:24 +0000, paul lawrence wrote:
> From a promt, if I type the following the variables are set OK, but if
> I include them in the resin-a.sh file and type sh resin-a.sh they are
> not set.
>
> export set JAVA_HOME=/usr/java/j2sdk1.4.2_06
> export set RESIN_HOME=/usr/local/resin
> export set PATH=$PATH:/usr/java/j2sdk1.4.2_06/bin
>
>
What shell are you running this script as? I assume bash, but set is
not a commonly used function AFAIK. (unset OTOH is commonly used.)
Whilst the syntax shown above is not commonly used, it is still
perfectly valid, at least in bash. I have to admit that it's so unusual
to see it written this way that I tried it myself to make sure it
actually worked!
In bash these lines would be
export JAVA_HOME=/usr/java/j2sdk1.4.2_06
export RESIN_HOME=/usr/local/resin
PATH=$PATH:/usr/java/j2sdk1.4.2_06/bin
to set the environment variables.
The path line works because $PATH is already an environment variable
Your syntax is using 2 built in shell commands -- export & set -- and
you cannot do that in most cases.
If you want maximum portability to other versions of Unix, you're better
off separating the setting of the variables and the exporting of them,
as some shells cannot combine the two:
JAVA_HOME=/usr/java/j2sdk1.4.2_06
RESIN_HOME=/usr/local/resin
PATH=$PATH:/usr/java/j2sdk1.4.2_06/bin
export JAVA_HOME RESIN_HOME
Paul.
--
Paul Howarth <paul(a)city-fan.org>