Sponsored Content
Top Forums Shell Programming and Scripting passing argument from one function to another Post 302696435 by nrjrasaxena on Wednesday 5th of September 2012 03:30:35 AM
Old 09-05-2012
Hi Pamu, yeah it makes lot of sense.
I need to do the do the modification as marked in red
Quote:
Originally Posted by pamu
Code:
PATH525[1]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav1/"
PATH525[2]="/eos/uscms/store/user/pooja04//analysis2012/525/data/doubleele/2012/datav4/"
PATHZY[1]="/eos/uscms/store/user/pooja04//analysis2012/533/mc/zgammav1/"
                                                                                                                                                         
PATH533[1]="/eos/uscms/store/user/pooja04//analysis2012/533/data/datav14/"

CopyFiles() {
    PATHNAME="$paths"  # Assuming you are using $paths as by default path for PATHNAME.
    
    if [ "$2" = "525" ]; then
        PATHNAME=${PATH525[1]} # I need to use both the array element here. Same for other arrays as well. I tried using *, but did not help..
    elif [ "$2" = "533" ]; then
        PATHNAME=${PATH533[1]} # PATH533 this is an array...
    elif [ "$2" = "ZY" ]; then
        PATHNAME=${PATHZY[1]} # PATHZY this is an array...
    fi
    echo "pathname is $PATHNAME"
    
        
    if [[ ! -e "dest_path/$PATHNAME" ]]; then
    ls -ltr "$PATHNAME" | grep root | awk '{print string path $9}' string="$CONSTANT" path="$PATHNAME"  >> "$FileName"
              echo "$PATHNAME is copied"
    else
    echo "Check the FileName in $PATHNAME"
    fi
    }

Thanks..Smilie

---------- Post updated at 02:30 AM ---------- Previous update was at 02:28 AM ----------

Thanks. Somehow I am not in position to pick a book on shell scripting. I can learn while writing scripts..
Besides, by joining this forum and giving trial for writing code helped me in learning...Smilie

Quote:
Originally Posted by bakunin
That is to be expected. You have defined not variables but arrays. In fact you have defined arrays with only one member, which is kind of contradicting the purpose of an array.

Array variables are accessed this way:

Code:
# assignment
# first a fixed element:
array[1]="some-value"
# or with a variable:
index=2
array[$index]="other-value"

# now retrieve the values from the array
# first a fixed index:
echo "Array[1] is: ${array[1]}"

# now with a variable:
index=2
echo "Array[$index] is: ${array[$index]}"

# finally with a loop:

(( index = 1 ))
while [ $index -le ${array[@]} ] ; do
     echo "Array[$index] holds: ${array[$index]}"
     (( index += 1 ))
done

I suggest you get some book on shell programming and read this first, only then try to write shell scripts. It is simply not possible to learn it without any material teaching the matter.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
All times are GMT -4. The time now is 09:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy