passing argument from one function to another


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting passing argument from one function to another
# 8  
Old 09-01-2012
Hey, sorry for that. I'd made a typo in my post (rectified now). It ought to be typeset and not typset
This User Gave Thanks to elixir_sinari For This Post:
# 9  
Old 09-01-2012
Quote:
Originally Posted by pamu
At the start defining max=$i doesn't make sense... at start where you have not defined i yet...

Have you tried with spacebar's or mine solution..?
Hi,
I guess i interpreted it wrongly. I thought i need to make it global variable.
It worked, great..Smilie

ummm, I would like to modify this script to do the following
Code:
 PATHNAME=/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/

I want the
Code:
 PATHNAME

to be like some arrray to hole the information of several path so that I can simply get certain information from several of directories together.

Kindly suggest

Thanks again
Pooja
# 10  
Old 09-01-2012
Bug

1) What you can do here is ...
Just create an array ( i don't know how is your directory structure, from your post it look like there is no pattern so we can get those path).
just give paths in a array.
Code:
path[1]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/"
path[2]="/eos/uscms/store/user/pooja04//analysis2012/525/data/"

same as how many you want it to add...

Then use array to perform operation on all paths....

Code:
for i in ${path[@])}
do
PATHNAME=${path[$i]}
...
Your Script...
...
done

2) Second option is you can create one file which stores all the paths you want to perform operations and store it somewhere..

And use that file to get the paths for your script..

Code:
$cat Path_file
/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele
/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/

while read line
do
PATHNAME="$line"
..
Your script..
...
done<Path_file

This User Gave Thanks to pamu For This Post:
# 11  
Old 09-01-2012
Hi,
ummm, confusion.
I want $FileName to add the string collected from the different directories. In the given case it would create a separate $FileName every time it will read the PATHNAME[i]..????

Kindly suggest
pooja



Code:
PATHNAME[1]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/"
PATHNAME[2]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav4/"

CopyFilesInfo() {
    for j in ${PATHNAME[@]}
      do
      PATHNAME=${path[$i]}
      ls -ltr "$PATHNAME" | grep root | awk '{print string path $9}' string="$CONSTANT" path="$PATHNAME"  > "$FileName"
      echo "FileName are Copied"
    done
}

# 12  
Old 09-01-2012
Bug

If you want to copy collected data from all directories to one file only then use >> while adding data...
If $FileName is same for every time then it will create only one file. just add >>


Quote:
Originally Posted by nrjrasaxena
Hi,
ummm, confusion.
I want $FileName to add the string collected from the different directories. In the given case it would create a separate $FileName every time it will read the PATHNAME[i]..????

Kindly suggest
pooja



Code:
PATHNAME[1]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/"
PATHNAME[2]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav4/"

CopyFilesInfo() {
    for j in ${PATHNAME[@]}
      do
      PATHNAME=${path[$i]}

      ls -ltr "$PATHNAME" | grep root | awk '{print string path $9}' string="$CONSTANT" path="$PATHNAME"  >> "$FileName"
      echo "FileName are Copied"
    done
}

# 13  
Old 09-01-2012
Quote:
Originally Posted by pamu
If you want to copy collected data from all directories to one file only then use >> while adding data...
If $FileName is same for every time then it will create only one file. just add >>

hi,
ERROR Smilie:
Code:
 ./Script4JobSubmit_v1.sh: line 49: /eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/: syntax error: operand expected (error token is "/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/")

Code is following:
Code:
PATHNAME[1]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/"
PATHNAME[2]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav4/"

#To Copy the Files Inforamtion from the Destination Folder                                                                                                             
CopyFilesInfo() {
    for j in ${PATHNAME[@]}
      do
      PATH=${PATHNAME[$j]}
      ls -ltr "$PATH" | grep root | awk '{print string path $9}' string="$CONSTANT" path="$PATH"  >> "$FileName"
      echo "$PATH are Copied"
    done
}

# 14  
Old 09-01-2012
See if you can get something out of the following:
Code:
a[0]="HI"
a[1]="THERE"

for i in "${a[@]}"
do
 echo $i
done

HI
THERE

for i in ${!a[@]}
do
 echo $i
done

0
1

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Passing a second argument

I am trying to pass a second argument like so: if ] then export ARG2=$2 else message "Second argument not specified: USAGE - $PROGRAM_NAME ARG1 ARG2" checkerror -e 2 -m "Please specify if it is a history or weekly (H or W) extract in the 2nd argument" fi however, it always goes... (4 Replies)
Discussion started by: MIA651
4 Replies

2. Programming

Parameter passing to function with void * as Argument

Earlier I had one structure C typedef struct c { int cc; }CS; I used to call a library function say int GetData(CS *x) which was returning me the above structure C with data. GetData(CS *x) Function call used to be like: CS CSobj; GetData(&CSObj); Now there are two... (12 Replies)
Discussion started by: rupeshkp728
12 Replies

3. Shell Programming and Scripting

Argument passing

How to pass the alphabet character as a argument in case and in if block? ex: c=$1 if a-z ]] then echo "alphabet" case $1 in a-z) echo "the value is a alphabet" edit by bakunin: please use CODE-tags. We REALLY mean it. (9 Replies)
Discussion started by: Roozo
9 Replies

4. Shell Programming and Scripting

Help with passing argument

Hi, I have a script that is scheduled with cron and runs every night. The cron part looks like this: 00 20 * * 0,1,2,3,4,5,6 /usr/local/bin/BACKUP TBTARM HOT DELETE My issue is with the 3rd parameter. Somewhere in the script, i want to tell the script to delete some files if the 3rd... (7 Replies)
Discussion started by: dollypee
7 Replies

5. Shell Programming and Scripting

pass function as argument to a function

I have the following code : function1 () { print "January" } function2() { case $1 in January) print "Dzisiaj mamy styczen" ;; *) ;; } main() { (1 Reply)
Discussion started by: presul
1 Replies

6. Shell Programming and Scripting

Passing commandline argument to a function

Hi, I have 2 ksh scripts. Script1.ksh contains function definition. script1.ksh function f1() { while getopts a:c: args do case $args in a) ARG1=$OPTARG ;; c) ARG2=$OPTARG ;; \?) echo "Error no valid Arguments passed" esac done echo $ARG1 echo $ARG2 script2.sh (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

7. Shell Programming and Scripting

passing Argument

Hi All, i have script like below.. echo "1) first option" echo "" echo "2) second option" echo "" echo "*) please enter the correct option" read select case $select in 1) echo "first option selected" ;; 2) echo "second option selected" ;; *) echo "please enter the correct... (4 Replies)
Discussion started by: Shahul
4 Replies

8. Shell Programming and Scripting

Passing global variable to a function which is called by another function

Hi , I have three funcions f1, f2 and f3 . f1 calls f2 and f2 calls f3 . I have a global variable "period" which i want to pass to f3 . Can i pass the variable directly in the definition of f3 ? Pls help . sars (4 Replies)
Discussion started by: sars
4 Replies

9. Shell Programming and Scripting

Passing more than one argument in a function

Hi All, Calling a function with one argument and storing the return value in a shell script is as below:( so far I know) value="`fun_1 "argument1"`" Its working perfectly for me. Can u help me with passing more than one argument and storing the return value Thnaks in advance JS (1 Reply)
Discussion started by: jisha
1 Replies

10. UNIX for Dummies Questions & Answers

Passing Argument to Function

May i know how to pass an argument to a function in a shell script? Sorry, i din stated that it is in a shell script in my previous post. Means: checkStatus() { ........... } read status; I wanna use the status in the function checkstatus, how... (2 Replies)
Discussion started by: AkumaTay
2 Replies
Login or Register to Ask a Question