ksh script - arrays


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ksh script - arrays
# 8  
Old 07-12-2005
arr$idataset$nline[$i]=${arr[$i]}

looks illegal to me. I can't believe that it works at all. I tried something similiar and got an error message. Smilie
# 9  
Old 07-12-2005
Sorry..this is what I have:

eval arr$idataset$nline[i]=\"${arr[$i]}\"

Works but I am not sure if it's storing it in the array..?? Thanks!
# 10  
Old 07-12-2005
Wow...quite a typo there! Yes it is storing it the array.
# 11  
Old 07-12-2005
Thanks Perderabo !

I think I've got it working now. Smilie
# 12  
Old 07-13-2005
Is this right?

while (( $i < ${arr$idataset$nline[@]} )); do # check condition

NOTE: $idataset, $nline have been defined before...AND [@] -> signifies the end of array.

I would like to print the element stored at the i'th position in the array. i.e. -> arr12[0] = datavalue.

On another note, is there a good reference site that I can use to look these things up, rather than bugging you guys?? Thanks in advance..! =)

Sid
# 13  
Old 07-13-2005
Not right. Use the eval trick to pull the value out and test that.
# 14  
Old 07-18-2005
Quote:
Originally Posted by sidamin810
NOTE: [...] AND [@] -> signifies the end of array.
This is a misconception. For a given array ARR the expression "${ARR[@]}" expands to all elements of this array, separated by blanks, it is synonymous to "${ARR[*]}":

Code:
$ typeset arr[1]="foo"
$ typeset arr[2]="bar"
$ typeset arr[3]="fubar"
$ print - "${arr[@]}"        # <----
foo bar fubar
$ print - "${arr[*]}"        # <----
foo bar fubar

To get the number of elements in an array use "${#ARR{@]}" (or the analogous "${#ARR[*]}", which would correspond to the highest index if you started your array with index 1. If you start your arrays in C-style with index 0 you will have to subtract 1 from this to get the highest index.

Code:
$ typeset arrA[1]="foo"
$ typeset arrA[2]="bar"
$ typeset arrA[3]="fubar"
$ typeset arrB[0]="foo"
$ typeset arrB[1]="bar"
$ typeset arrB[2]="fubar"

...

(( i=1 ))
while [ $i -le ${#arrA[@]} ] ; do  # check condition, notice the "-le"
     ...
      (( i += 1 ))
done

(( i=0 ))
while [ $i -lt ${#arrB[*]} ] ; do  # check condition, notice the "-lt"
     ...
      (( i += 1 ))
done

HTH

bakunin

Last edited by bakunin; 01-29-2009 at 08:20 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh arrays

Hi, I have a ksh script in which I need to fill an array with a list of filenames. It currently works like this: set -A array \ val1 \ val2 \ val3However, I was wondering why it's not possible to do something like this to make it easier to parse values to the array: set -A array... (3 Replies)
Discussion started by: Subbeh
3 Replies

2. Shell Programming and Scripting

Multidimentional arrays in KSH

Hi, I am using KSH shell and need to define a multi dimensional array in which i need to store and retrive data. Please provide your valuable in puts. Eg: asbjkasd 1234 asdhnas 1254 i need to store the above values and use them as input to another command. Note each line is a pair. Thanks... (8 Replies)
Discussion started by: hraj1984
8 Replies

3. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

4. Shell Programming and Scripting

KSH: Reading a file line by line into multiple arrays

Hi - I have a file that contains data in this format:- #comment value1 value2 value3 #comment value4 value5 value6 value7 #comment value8 value9 I need to read value1, value2 and value3 into one array, value4 value5 value6 and value7 into another array and value8 and value9 into a 3rd... (2 Replies)
Discussion started by: sniper57
2 Replies

5. UNIX for Dummies Questions & Answers

Arrays in nawk and ksh

I'm not confident at all on how arrays work. I want to know how to set arrays in ksh and in nawk (is there a difference??) if someone can show me some examples of both that will be great. Tried to look up on the net but was confusing me more. Any help would be appreciated. (2 Replies)
Discussion started by: Pablo_beezo
2 Replies

6. Shell Programming and Scripting

Export Arrays in ksh

Hello everybody! Why I can export arrays in ksh? I trie this for exemplo: In parent script array=a array=b array=c export array When I see the variable array in child script there are only first index. For exemplo in child script +echo ${array} a (3 Replies)
Discussion started by: ricardo.ludwig
3 Replies

7. Shell Programming and Scripting

List of arrays in ksh?

Hi all, In a loop, i am creating an array of integer and adding it to another array that hold arrays // psuedo code pttrnArray=$type$data // This is array of integers. pttrnArrays=${pttrnArray} // This is supposed to be array of arrays. But when i print pttrnArrays, i get only the... (1 Reply)
Discussion started by: jakSun8
1 Replies

8. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

9. Shell Programming and Scripting

Automatic Arrays in ksh

Given a line of text in ksh: string1 string2 string3 .....stringn is there a way of automatically assigning each string to an array element? Or just different variables would do. Thanks, Jon (1 Reply)
Discussion started by: Jonny2Vests
1 Replies

10. Shell Programming and Scripting

KSH and arrays

hello all, I browsed the forum (briefly) and I am having issues with a script I writing. I need to check a directory and see if there are files there, if so process all of them. The issues I am having is that when I create the array of files names using set -A filenames "$(ls -1... (1 Reply)
Discussion started by: whited05
1 Replies
Login or Register to Ask a Question