Visit Our UNIX and Linux User Community


getting variables from another script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting getting variables from another script
# 1  
Old 09-02-2009
getting variables from another script

I have 2 scripts.The first script greps something and prints it

say a.sh
#!/bin/sh
ccc="grep something and cut something"
echo $ccc

When you run this it gives a value say "100"

I have b.sh and I have
#!/bin/sh
status=`/home/a.sh`
status_code=$?
echo status_code

When I run b.sh I dont get 100 but get some other number...do you know why?
# 2  
Old 09-02-2009
because you're echo'ing $?, which is the return code of the previous command, not the result of a.sh
# 3  
Old 09-02-2009
It's easier if we see the real script. This construct should capture the output from the called script.

Quote:
status=`/home/a.sh`
Code:
/home/a.sh | read status

# 4  
Old 09-02-2009
Quote:
Originally Posted by methyl
It's easier if we see the real script. This construct should capture the output from the called script.

Code:
/home/a.sh | read status


In most shells, the value of $status will be lost because each element of a pipeline is executed in a subshell.

Use:

Code:
status=$(/home/a.sh)    ## What's a script doing in /home?????
printf "Return code: %s\n" "$?"
printf "     Output: %s\n" "$status"

# 5  
Old 09-03-2009
I didn't explain myself very well. I'm not trying to pass $status to the calling shell. I'm reading the output from the echo in a.sh within b.sh. Very similar to cfajohnson POSIX shell method.

Code:
#!/bin/sh
# This is a.sh
echo "100"

#!/bin/sh
# This is b.sh
/home/a.sh | read status
echo "This came from b.sh: ${status}"


/home/a.sh

This came from b.sh: 100

# 6  
Old 09-03-2009
Quote:
Originally Posted by methyl
I didn't explain myself very well. I'm not trying to pass $status to the calling shell. I'm reading the output from the echo in a.sh within b.sh. Very similar to cfajohnson POSIX shell method.

Code:
#!/bin/sh
# This is a.sh
echo "100"

#!/bin/sh
# This is b.sh
/home/a.sh | read status
echo "This came from b.sh: ${status}"


/home/a.sh

This came from b.sh: 100


That will only work in ksh (and not even in pdksh).
# 7  
Old 09-03-2009
Hi cfajohnson.

I've tried both our scripts in HP-UX 11.11 /bin/sh (a hard link to /usr/bin/sh) and both scripts work. Please try my construct in your shell and let me know if there is an issue.

Neither script works in Bourne shell (mine misbehaves, yours gives syntax errors). We both have omitted to check what the o/p is using.

Previous Thread | Next Thread
Test Your Knowledge in Computers #630
Difficulty: Medium
According to Lifewire, as of November 1, 2018, a total of more than 3.2 billion iPhones had been sold.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script to create runtime variables based on the number of parameters passed in the script

Hi All, I have a script which intends to create as many variables at runtime, as the number of parameters passed to it. The script needs to save these parameter values in the variables created and print them abc.sh ---------- export Numbr_Parms=$# export a=1 while do export... (3 Replies)
Discussion started by: dev.devil.1983
3 Replies

2. UNIX for Dummies Questions & Answers

Variables in perl script

Hi Chaps, Im after some advise with a script i've written however doesnt appear to work how I would like. Basically I have a perl script which sucessfully pulls an expect script to login to multiple nodes and obtain some output from the nodes (total number of nat ports that are in use... (0 Replies)
Discussion started by: mutley2202
0 Replies

3. Shell Programming and Scripting

Running a script with multiple variables like 25 variables.

Hi All, i have a requirement where i have to run a script with at least 25 arguements and position of arguements can also change. the unapropriate way is like below. can we achieve this in more good and precise way?? #!/bin/ksh ##script is sample.ksh age=$1 gender=$2 class=$3 . . .... (3 Replies)
Discussion started by: Lakshman_Gupta
3 Replies

4. Shell Programming and Scripting

Ask variables to user by script

Hi. Is there any way of in a script ask the user something and with the user answer retreave a internal result that uses the variable that the user had introduced? Thanks (3 Replies)
Discussion started by: whity
3 Replies

5. Shell Programming and Scripting

calling script with multiple variables in second script

Hi All, Just give me an idea on how to do the below logic. 1. I have one master script masterload.sh, the usage of this script is a. masterload.sh FULL BFLF_LOAD.txt b. masterload.sh DELTA TDLD_LOAD.txt c.masterload.sh USER MAS_LOAD.txt FULL , DELTA ,USER are the varaibles based... (1 Reply)
Discussion started by: mora
1 Replies

6. Shell Programming and Scripting

Variables of executed script available in executing script

Hi, I have a script get_DB_var.ksh which do a data base call and get some variables as below: sqlplus -silent $user/$pass@dbname <<END select col1, col2, col3 from table_name where col4=$1; exit; END Now I want to access all these variables i.e.... (9 Replies)
Discussion started by: dips_ag
9 Replies

7. Shell Programming and Scripting

Using variables across script

Hi, I want to take input from one script like : 1. Enter ip address : 2. Enter port : Now, I want to - a. Store these in variables, b. Call a separate script (say, x) from this script (say, y) c. And use the stored variables in the called script (i.e. in script 'x'). How do I... (5 Replies)
Discussion started by: angshuman_ag
5 Replies

8. Shell Programming and Scripting

Script that takes in variables, and outputs to another text or script file

Ok, I sort of need to create a command files that will be ftped to another server to run. I have some input variable that will need to be read, and then transformed into another script file. Here are some examples. Server 1: outputCmd.sh passing in ./outputCmd.sh nh8oaxt Release_4_0... (1 Reply)
Discussion started by: orozcom
1 Replies

9. Shell Programming and Scripting

passing a variables value from the called script to calling script using ksh

How do i get the value of the variable from the called script(script2) to the calling script(script1) in ksh ? I've given portion of the script here to explain the problem. Portion of Script 1 ============= ----- ----- tmp=`a.ksh p1 p2 p3` if then # error processing fi -----... (10 Replies)
Discussion started by: rajarkumar
10 Replies

10. Shell Programming and Scripting

variables in a script

Hi, I have a variable (var) which can be any number. I would like to use the cut command on a string depending on the variable. eg var=4 echo $string | cut -c 1-$var This doesn't work as cut sees $var as $var rather than as 4. Can anyone suggest how I can evaluate $var in the cut... (7 Replies)
Discussion started by: Bab00shka
7 Replies

Featured Tech Videos