[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Script Help
- From: inode0 <inode0 gmail com>
- To: "Getting started with Red Hat Linux" <redhat-install-list redhat com>
- Subject: Re: Script Help
- Date: Wed, 8 Nov 2006 17:28:28 -0600
On 11/8/06, Rick Stevens <rstevens vitalstream com> wrote:
The standard way of forcing an environment variable into a script
(without doing an "export VARNAME") is to put it on the command line
that invokes the script:
$ VARNAME="data" path-to-script.sh
Then in the script:
...
if [ x$(VARNAME) = "xdata"]; then
do something
fi
If you want the shell to export some variable, then use
declare -x SVARNAME
_IN_ the script to export it. For example, if "fred.sh" contained:
#! fred.sh - Show use of variables
if [ x$(INVAR) = "xdata" ]; then
export -x OUTVAR
export -x? declare -x? typeset -x?
OUTVAR="INVAR was set"
exit 0
else
exit 1
fi
and you ran:
# INVAR="data" ./fred.sh
Then fred.sh would set a return code of 0 and the environment variable
"OUTVAR" would contain the string "INVAR was set". If you ran:
# ./fred.sh
it would return 1 and "OUTVAR" would not be defined.
It appears you are suggesting setting a variable in the environment of
the parent process via exporting it in the child process. My brain is
hurting this evening but I think the exported variable in the script
would only be exported to the environment of any child processes it
creates?!
John
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]