08-10-2005
Getting value of variable set in subprocess script
I am writing a shell script that executes another script by fetching it over the network and piping its contents into sh (ftp -o - $script | sh; or wget -O - |sh). Since this bypasses putting the script on the filesystem, this means I can't source the script directly (using . ), but rather it gets executed in a subprocess.
So here is my problem: When it comes to Unix processes, information can usually flow only from parent to child (when the parent establishes the child's environment at invocation). But is there a way that the calling script can get a value of a variable that is set in the called script? Could using co-processes solve this, with like read -p?
I know I can fetch the script unto my hard drive, and then source it. Or I can pipe the contents of the script from the network, and save the data I need to a temporary file, and then my main program can get the data from that file. But is there a way to bypass the filesystem alltogether?
And an importnat point: the called script does a lot of stuff on its own. I don't want all of its standard output to come back as input to the calling script, but only the value of a particular variable.
Last edited by hadarot; 08-12-2005 at 05:18 AM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I want to check to see if a variable is set - and if not set it to something
ie. variable name test
I want to check if $test is set
then if there is nothing set against this currently - then set it to 0
Whats the best / shortest way of doing this in a script? (3 Replies)
Discussion started by: frustrated1
3 Replies
2. Shell Programming and Scripting
hi all
i have joined new to the group.
i have set an variable in my bashrc file.
.bashrc
PROGHOME=/home/braf/braf/prog
export PROGHOME
but while using it in my shell script its path is not taken and i had to explicitly give the export command to set the path.
in my script... (8 Replies)
Discussion started by: krithika
8 Replies
3. Shell Programming and Scripting
how about a script that compares 2 files using diff (or similar) and if they are then same then set a variable, v1=int else v1=0.
thanks (2 Replies)
Discussion started by: tuathan
2 Replies
4. Shell Programming and Scripting
Can someone tell me why I'm getting error when I try to run this?
#!/bin/csh -f
source ~/.cshrc
#
set SQLPLUS = ${ORACLE_HOME}/bin/sqlplus
#
set count=`$SQLPLUS -s ${DB_LOGIN} << END
select count(1) from put_groups where group_name='PC' and description='EOD_EVENT' and serial_number=1;... (7 Replies)
Discussion started by: gregrobinsonhd
7 Replies
5. Shell Programming and Scripting
first of all, thanks to all on this board, it has been a huge resource to answer most of my questions!
I am stuck on something that should really be simple, and was looking for some help.. I am using KSH on solaris and working on a script to move containers from server to server. Where i am... (4 Replies)
Discussion started by: tksol
4 Replies
6. Shell Programming and Scripting
I have a shell script I want to run that will set environment variables based on the value of an input variable submitted when the shell script is called. For example:
$ mgenv.sh prod
This would set environment variables for prod
$ mgenv.sh test
This would set environment variables... (1 Reply)
Discussion started by: brtaylor73
1 Replies
7. HP-UX
Hi,
I am using hp unix
i want to know the use of the following commands
set --
set - variable
thanks (4 Replies)
Discussion started by: gomathi
4 Replies
8. Shell Programming and Scripting
greetings,
i have a sh script that calls a python script. the sh script sets an env variable BIN:
export BIN=bin64i need to get that BIN variable's value and use it within this python script. anyone know how to do this? thanx in advance. (5 Replies)
Discussion started by: crimso
5 Replies
9. Shell Programming and Scripting
Hi,
Will following set up work in bash script? I've got errors if assigning following binary command to a variable. But on the other hand, COMMAND="ls" works. Any explanation please? How can I assign binary command to a variable COMMAND then I can just call ${COMMAND}?
COMMAND="rsync"... (3 Replies)
Discussion started by: hce
3 Replies
10. UNIX for Advanced & Expert Users
I originally had a script written in pure shell that I used to parse logs in real time and create a pipe delimited file that only contained errors. It worked but it was using a lot of memory (still not clear on why). I originally got around this by writing a wrapper for the script that ran on cron... (1 Reply)
Discussion started by: DeCoTwc
1 Replies
LEARN ABOUT MOJAVE
tcl_allowexceptions
Tcl_AllowExceptions(3) Tcl Library Procedures Tcl_AllowExceptions(3)
__________________________________________________________________________________________________________________________________________________
NAME
Tcl_AllowExceptions - allow all exceptions in next script evaluation
SYNOPSIS
#include <tcl.h>
Tcl_AllowExceptions(interp)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter in which script will be evaluated.
_________________________________________________________________
DESCRIPTION
If a script is evaluated at top-level (i.e. no other scripts are pending evaluation when the script is invoked), and if the script termi-
nates with a completion code other than TCL_OK, TCL_ERROR or TCL_RETURN, then Tcl normally converts this into a TCL_ERROR return with an
appropriate message. The particular script evaluation procedures of Tcl that act in the manner are Tcl_EvalObjEx, Tcl_EvalObjv, Tcl_Eval,
Tcl_EvalEx, Tcl_GlobalEval, Tcl_GlobalEvalObj, Tcl_VarEval and Tcl_VarEvalVA.
However, if Tcl_AllowExceptions is invoked immediately before calling one of those a procedures, then arbitrary completion codes are per-
mitted from the script, and they are returned without modification. This is useful in cases where the caller can deal with exceptions such
as TCL_BREAK or TCL_CONTINUE in a meaningful way.
KEYWORDS
continue, break, exception, interpreter
Tcl 7.4 Tcl_AllowExceptions(3)