Using eval to populate an array in the background


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using eval to populate an array in the background
# 1  
Old 05-03-2011
Using eval to populate an array in the background

Hi.
I am trying to populate an array using eval in the background within a function. So this function will create a list of 3 character directories from SVN and store in an array. I want to call this function when the script starts in the background unknown to the user.

The problem is that each item in the list is evaluated as a command instead of populating the SVNDIRS array and so I get the [command not found] error. I have tried it numerous ways with eval "echo...." and even redirecting error. Is there a way to do this that I have not tried? Thank you.

Code:
 
## - get the directory list
getDirs() {
    eval "SVNDIRS=$( svn ls "${REPO}" | sed 's/\/$//' | awk '{ if (length($0) == 3) { print }}' )  " &
}

# 2  
Old 05-03-2011
I think you want:
Code:
set -A

set -A SVNDIRS $( svn ls "${REPO}" | sed 's/\/$//' | awk '{ if (length($0) == 3) { print }}' )

Test:
Code:
mkdir aa
mkdir ab
mkdir ac

set -A SNVDIRS $(ls -ad1 a*)
echo ${SNVDIRS[*]}
aa ab ac

# 3  
Old 05-03-2011
Thank you for responding. However, i am trying to set the array variable in the background. Basically spawning a new shell and then reading that variable back in the current shell.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help on Assigning a Array variable from Background Functions

I have a question on how can I assign a output of a function to a variable which is executed in background. Here is my example $ cat sample_program.sh #!/bin/ksh exec_func () { sleep 1 v=`expr $1 + 100` print $v } export OUT_ARR date for i in 1 2 do OUT_ARR=`exec_func $i` &... (1 Reply)
Discussion started by: mohan_kumarcs
1 Replies

2. Shell Programming and Scripting

Error in eval eval command to print html tags

anyone has any info on why this is complaining??? vivek@vivek-c5e55ef2e ~/TAC $ zoneCounter=1 vivek@vivek-c5e55ef2e ~/TAC $ optUsage1=23% vivek@vivek-c5e55ef2e ~/TAC $ eval eval echo "<th>Zone $zoneCounter </th><th align=\"left\"> \$optUsage$zoneCounter </th>" -bash: syntax error... (13 Replies)
Discussion started by: vivek d r
13 Replies

3. Shell Programming and Scripting

Error in eval eval command to print html tags

anyone has any info on why this is complaining??? vivek@vivek-c5e55ef2e ~/TAC $ zoneCounter=1 vivek@vivek-c5e55ef2e ~/TAC $ optUsage1=23% vivek@vivek-c5e55ef2e ~/TAC $ eval eval echo "<th>Zone $zoneCounter </th><th align=\"left\"> \$optUsage$zoneCounter </th>" -bash: syntax error... (1 Reply)
Discussion started by: vivek d r
1 Replies

4. Shell Programming and Scripting

Shell script to populate an array from a csv file

Hi Guys, I've got a script that runs and collects statistics from one of our machines and outputs the data into a csv file. Now, that script runs fine and I managed to create another one (with a lot of help from this forum!!) to trim the csv file down to all the data that I need, rather than all... (9 Replies)
Discussion started by: jimbob01
9 Replies

5. Shell Programming and Scripting

Strange result of eval, how does eval really work with ssh?

Hi all, some small script with eval turned me to crazy. my OS is linux Linux s10-1310 2.6.16.53-0.8.PTF.434477.3.TDC.0-smp #1 SMP Fri Aug 31 06:07:27 PDT 2007 x86_64 x86_64 x86_64 GNU/Linux below script works well #!/bin/bash eval ssh remotehost date eval ssh remotehost ls below... (1 Reply)
Discussion started by: summer_cherry
1 Replies

6. Shell Programming and Scripting

Help puting background process ID's into an array

I am trying to write a script that runs another script consecutively and records the PID of the called script each time it runs in an array. I put in an echo statement to check the PID, when the script runs no PID is output, and the array seems to be empty. I assume it is problem with my code,... (3 Replies)
Discussion started by: Breakology
3 Replies

7. Shell Programming and Scripting

eval, array, number of elements - couldn't get it

I try to get a number of elements in an array, using dynamic array name. I need the array name to be dynamic. The array name is constructed as 'inf_ln_$nmb', where $nmb is a file line number So, say I have the arr 'inf_ln_4': > for (( el=0; el<${#inf_ln_4}; el++ )); do > echo "$el:... (1 Reply)
Discussion started by: alex_5161
1 Replies

8. Shell Programming and Scripting

how to get status array for the commands in eval

I want to get a status code array for the commands in eval. For example, eval "ls abc; ls def; ls $HOME" I want to get the status code for each ls command in eval. Is there any way to make it? Thanks. (2 Replies)
Discussion started by: pankai
2 Replies

9. Shell Programming and Scripting

using the getline to populate an array from a file

Hello, I am trying to use the awk getline command to populate an array from a flat file. Has anyone done this before? So we have file1: a b c d I want to create an array like index that contains these four elements (8 Replies)
Discussion started by: penfold
8 Replies

10. UNIX for Dummies Questions & Answers

Confuse on how to use array and eval..

Hi, Can anyone advise me on how to use array on Bash? I am really confuse in how eval is link to array... What i wan to do is let say i have an index of an array of 50. Store either 'N' or 'Y' or "NA" in each index. how to i go about doing it.. then lastly how to i print all the values out in... (2 Replies)
Discussion started by: Kinki
2 Replies
Login or Register to Ask a Question