Visit Our UNIX and Linux User Community


Pass array to a function and display the array


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Pass array to a function and display the array
# 1  
Old 02-18-2015
Question Pass array to a function and display the array

Hi All


I have multiple arrays like below.

set -A val1 1 2 4 5
set -A val2 a b c d
.
.
.

Now i would like to pass the individual arrays one by one to a function and display/ do some action.

Note : I am using ksh

Can you please advise any solution...

Thanks in advance.

Last edited by Girish19; 02-18-2015 at 06:05 AM..
# 2  
Old 02-18-2015
Like so
Code:
FCT1 ${val1[@]}

?
# 3  
Old 02-18-2015
Yes i have tried that option also.

In function i tried displaying the values as $1, $*, $@ et.., but not able to display the values
# 4  
Old 02-18-2015
More context, please. Show the function that failed.
# 5  
Old 02-18-2015
You could try something like this:
Code:
arr1=(a1 b1 c1) 
arr2=(a2 b2 c2)

a() { 
  typeset -n _my_arr1=$1 _my_arr2=$2 
  printf '%s\n' first: "${_my_arr1[@]}"  
  printf '%s\n' second: "${_my_arr2[@]}"
  }

Which produces:
Code:
$ a arr1 arr2
first:
a1
b1
c1
second:
a2
b2
c2

Check the following thread for more info.
# 6  
Old 02-18-2015
Yes it is working now. I am passing wrong array. Hence it was not working.

Also one more question can we pass multiple arrays and catch them in a function?

Code:
FCT1 ${val1[@]}  ${val2[@]} ${val3[@]}

# 7  
Old 02-18-2015
Try quoting the arrays.

---------- Post updated at 12:05 ---------- Previous update was at 12:03 ----------

You may want to check on the differences between ${val1[@]} and ${val1[*]}.

Previous Thread | Next Thread
Test Your Knowledge in Computers #765
Difficulty: Medium
Cache read misses from an instruction cache generally cause the longest delays because the processor, and in particular the thread of execution, has to wait until the instruction is fetched from main memory.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to pass and read an array in ksh shell script function.?

I'm able to read & print an array in varaible called "filelist" I need to pass this array variable to a function called verify() and then read and loop through the passed array inside the function. Unfortunately it does not print the entire array from inside the funstion's loop. #/bin/ksh... (5 Replies)
Discussion started by: mohtashims
5 Replies

2. UNIX for Dummies Questions & Answers

How to pass first array value?

Hi, I am creating filesystem for block device, but I want to pass array value one by one acording to block device count. $tmp1 = block device count 3 $blockdevice = So I want to first pass sdb1 alone in loop, how to take only block device seprately from $blockdevice array. (1 Reply)
Discussion started by: stew
1 Replies

3. Shell Programming and Scripting

Split list of files into an array and pass to function

There are two parts to this. In the first part I need to read a list of files from a directory and split it into 4 arrays. I have done that with the following code, # collect list of file names STATS_INPUT_FILENAMES=($(ls './'$SET'/'$FOLD'/'*'in.txt')) # get number of files... (8 Replies)
Discussion started by: LMHmedchem
8 Replies

4. Shell Programming and Scripting

Question about sorting -- how to pass an array to a function

Hi, guys I just wanted to sort the elements of an array ascendingly. I know the following code does work well: array=(13 435 8 23 100) for i in {0..4} do j=$((i+1)) while ] do if } -le ${array} ]] then : else min=${array} ${array}=${array} ${array}=$min fi... (5 Replies)
Discussion started by: franksunnn
5 Replies

5. Shell Programming and Scripting

How to pass an array to a function in shell script.?

hi, I have a array say SAP_ARRAY="s1.txt" SAP_ARRAY="s2.txt" how can i pass this full array to a function. here is the sample code i am using.. CHECK_NO_FILES() { FARRAY=$1 echo "FARRAY = $FARRAY" echo "FARRAY = $FARRAY" ............... (5 Replies)
Discussion started by: Little
5 Replies

6. Shell Programming and Scripting

Store all the passed arguments in an array and display the array

Hi I want to write a script which store all the parameters passed to the script into an array. Once it is stored I want scan through the array and and delete those files for last month present inside the directory. The files in directory is appneded with YYYY_MM_DD. I want to know how can I... (3 Replies)
Discussion started by: dgmm
3 Replies

7. Shell Programming and Scripting

How to pass an array from SHELL to C function

Hi, I have an output generated from a shell script like; 0x41,0xF2,0x59,0xDD,0x86,0xD3,0xEF,0x61,0xF2 How can I pass this value to the C function, as below; int main(int argc, char *argv) { unsigned char hellopdu={above value}; } Regards Elthox (1 Reply)
Discussion started by: elthox
1 Replies

8. UNIX for Dummies Questions & Answers

How to pass array as an arguement ?

Hi experts, I am here again with another Issue. I need to pass the array as parameter / argument to another script. I tried it as follows . ( I got this idea from the link ) $ cat test1.sh #! /usr/bin/ksh set -a arr1 echo "...In Test1...." arr1="APPS_DEV" arr1="TEST_DEV" echo... (16 Replies)
Discussion started by: rajavu
16 Replies

9. UNIX for Dummies Questions & Answers

How To Pass an Array Variable

Hi, I have a master BASH shell script where I define a bunch of variables: $var1=why $var2=is $var3=(this so hard) I would then like to call another shell script and pass these variables to it: $script2 $var1 $var2 $var3 This works fine for var1 and var2. However, var3 is an array,... (9 Replies)
Discussion started by: msb65
9 Replies

10. Shell Programming and Scripting

Can we pass array with call by value in function

I want to pass an array in my function, And my function will be changing the elements of the array in the fuction, but it should not affect the values in my array variable of main function (1 Reply)
Discussion started by: ranjithpr
1 Replies

Featured Tech Videos