Problem with foreach loop


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Problem with foreach loop
# 1  
Old 09-16-2008
Error Problem with foreach loop

Hi All,

Is there any problem with the below 'foreach' loop?
foreach risk_factor ($(cat "$rf_list"))

where "rf_list=$SCRIPT/Utility/rflist.txt "

I'm wondering, it is throwing below error message:
syntax error at line 34: `(' unexpected

Any idea/suggestions ?

Thanks in advance / Mysore Ganapati.

Last edited by ganapati; 09-16-2008 at 09:53 AM.. Reason: missing one line
# 2  
Old 09-16-2008
Using cat is redundant try this:

Code:
while read risk_factor; do
  # do something with "$risk_factor"
done < "$rf_list"

Regards
# 3  
Old 09-16-2008
Thanks Franklin,

It worked, but what could be the problem with foreach loop?
Can you clear my doubt please?

Thanks and Regards / Mysore Ganapati
# 4  
Old 09-16-2008
AFAIK for each loops is used in csh/tcsh scripts but I'm not familiar with it.

Regards
# 5  
Old 09-18-2008
you are mixing shells here. $() is understood by bash/ksh, while foreach is csh/zsh specific. Which shell are you actually using?
# 6  
Old 09-19-2008
The error message would indicate Bourne-compatible (sh/ksh/bash -- zsh belongs to this group, too, although it does feature a foreach command, similar to csh's).
# 7  
Old 09-19-2008
Hi Otheus,

I'm using 'csh'. Dont know exactly whether I'm mixing the shells or not!

Cheers ~~ / Mysore Ganapati
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Foreach loop with two variables

I need to put together a script that will take the contents of two different files (database name and database owner) and put them in two variables within a line: foreach x (`cat /local/hd3/dba/tools/build_db_scripts/dbs`) foreach z (`cat /local/hd3/dba/tools/build_db_scripts/dbas`)... (6 Replies)
Discussion started by: deneuve01
6 Replies

2. UNIX for Dummies Questions & Answers

foreach loop in csh

Hi everyone I'm new to unix and encountered a small problem i couldnt find out a reason why it doesn't work..please help.. in my csh script when i tried to use the foreach loop like this: foreach x ( ls ) echo $x end when i tried to run it, it printed out 'ls' to the std out instead of... (3 Replies)
Discussion started by: ymc1g11
3 Replies

3. Shell Programming and Scripting

foreach loop problem

Dear all, I wrote a script to download files and move files in directories according to their name. Now here is the problem: Both p101 and p360 data download successfully, but when I move them according to the year and month, only p101 data can be placed at the right location, p360,... (1 Reply)
Discussion started by: handsonzhao
1 Replies

4. UNIX for Dummies Questions & Answers

Using the Foreach loop, Needing help

I am trying to make a script for my Counter-Strike: Source servers. What i am wanting it to do is for it to restart each server, the only way i can think of doing this in through for each. Years what i have at the moment. server_start() { START=`ps x | grep SCREEN | grep $SRV | cut -d '?' -f... (5 Replies)
Discussion started by: grahamn95
5 Replies

5. Shell Programming and Scripting

Using sed with a foreach loop

So I am back again beating my head against the wall with a shell script and getting a headache! I want to change each year in a file (1980, 1981, 1982, 1983, etc.) to the same year followed by a tab. The input is "blah blah (1980) blah blah". I want to get "blah blah (1980 ) blah blah".... (2 Replies)
Discussion started by: Peggy White
2 Replies

6. Shell Programming and Scripting

foreach loop

Hi everyone Does anyone know what is wrong with this script. i keep getting errors foreach filename (`cat testing1`) set string=$filename set depth=`echo "$string" echo $depth end the error is the following testing: line 1: syntax error near unexpected token `(' testing: line 1:... (3 Replies)
Discussion started by: ROOZ
3 Replies

7. Shell Programming and Scripting

foreach loop + 2 variables

In a foreach loop, is it possible for the loop to go through 2 arguments instead of one i.e. instead of foreach i (do stuff for i), we have foreach i j(do stuff for i; do stuff for j) I am working under BASH and TCSH shell environments cheers (3 Replies)
Discussion started by: JamesGoh
3 Replies

8. Shell Programming and Scripting

foreach loop

Hi Guys, I have a loop which uses a wildcard i.e. foreach f (*) but when I execute the tcsh file in unix then it gives me an error ->>>>>>>foreach: words not parenthesized<<<<<<<<<<- Any help. (1 Reply)
Discussion started by: abch624
1 Replies

9. Shell Programming and Scripting

Foreach loop

What am I doing wrong with this foreach loop? foreach var ($argv) @sum = $sum + $var (4 Replies)
Discussion started by: haze21
4 Replies

10. UNIX for Dummies Questions & Answers

foreach loop question

Hello, I am new at this forum so please bare with me on this. Within a given directory, I have a list of files in which in each file, I would like to do a substitution. I would like to substitute the string mlcl to mll in each file using the foreach command. I dont quite get how to do that. If... (7 Replies)
Discussion started by: clipski
7 Replies
Login or Register to Ask a Question