Visit Our UNIX and Linux User Community

ksh for loop

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ksh for loop
# 1  
Old 06-10-2013
ksh for loop

Any reason why this thing doesn't works in Korn Shell

for (( expr1; expr2; expr3 ))
..... ... repeat all statements between do and done until expr2 is TRUE Done

# 2  
Old 06-10-2013
This only works with kornshell 93, not kornshell 88.
# 3  
Old 06-10-2013
And how to identify which korn shell is there on my OS?

# 4  
Old 06-10-2013
If you have a shell variable $KSH_VERSION, you are on ksh93. You can also probe for other features.

You also can try to call your ksh with --version as argument, ksh88 does not print anything
$ /opt/ast/bin/ksh --version
  version         sh (AT&T Research) 1993-12-28 s
$ /bin/ksh --version

# 5  
Old 06-10-2013
Originally Posted by targetshell
Any reason why this thing doesn't works in Korn Shell

for (( expr1; expr2; expr3 ))
..... ... repeat all statements between do and done until expr2 is TRUE Done

Assuming your version of the Korn shell handles ((...)) in for loops, you've got the logic backwards.
for (( expr1; expr2; expr3 ))
do      statements...

executes the specified statements each time expr2 evaluates to TRUE and leaves the loop when expr2 evaluates to FALSE. For example:
for (( i=1; i<5; i++))
do    echo $i

produces the output:

because i<5 is true the 1st four times through the loop.

Previous Thread | Next Thread
Test Your Knowledge in Computers #981
Difficulty: Medium
The follow operating systems are all examples of monolithic kernels: OpenVMS, Linux, BSD, SunOS, AIX, and MULTICS.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Error with while loop ksh

while ];do first=${hat} echo "${first}" b=$((b+1)) a=$((a+5)) done I'm trying to append values from the indicated index of one array to other, but it gives me an error with while loop....suggesting that ....... In the hat array, it contains many values... (2 Replies)
Discussion started by: TestKing
2 Replies

2. UNIX for Beginners Questions & Answers

Multiple if within while loop ksh

Hi All, I'm trying to write while loop with multiple if conditions. Each and every if condition with different variables. whenever one if condition fails i have remove the file from filename and have to pick another file and loop should exit until the last file found in filename. Please help... (4 Replies)
Discussion started by: Kayal
4 Replies

3. Shell Programming and Scripting

Help with loop in ksh script

Hi, I am new to UNIX. I am working on a script where it takes the input and produces a desired output and it works fine for one instance. Input(One Instance): CREATE TABLE TAB1 ( COL1, COL2 ); CREATE UNIQUE INDEX XPKTAB1 ( COL1 )TAB1; Output: CREATE TABLE TAB1 ( COL1, COL2... (8 Replies)
Discussion started by: varun2327
8 Replies

4. Shell Programming and Scripting

Output in for loop (ksh)

Hi , I'm writing the for loop script in home directory and wanted to get the files from /etc/data directory. #!/bin/ksh file_nm="/etc/dat" for test_data in $file_nm/fln* do echo "$test_data" done the code is executing successfully , but in the output it is showing ... (6 Replies)
Discussion started by: smile689
6 Replies

5. Shell Programming and Scripting

ksh loop

I need an echo "hit enter" running every 3 seconds till user hit enter key. 10x (1 Reply)
Discussion started by: LiorAmitai
1 Replies

6. Shell Programming and Scripting

ksh - for loop with variables

Hi, I 'm trying to send an e-mail for every different line in the .txt for i in {1..$variable} do sed -n "/$i$/p" text.txt done I have two problems about this. First one is that for loop doesn't work and the second one is that i cant get the output of sed (4 Replies)
Discussion started by: ozum
4 Replies

7. Shell Programming and Scripting

Why does my for loop does not work right in ksh?

hi all, i have a for loop statement in my ksh code. it only returns the first value retrieved not the value for the other rows. ex: acct_id value = returned value in the for loop 1 = 1 2 = 1 (instead of 2) 3 = ... (1 Reply)
Discussion started by: ryukishin_17
1 Replies

8. Shell Programming and Scripting

Help with While loop in KSH

Hi, I want to write a while loop like this can any one say me whats wrong with my loop USAGE="Usage: Mail.ksh" integer i=3 while ((1<i<=3)) do . . . . (( CMD_JUL = LSD_JUL - i )) CUR_MAINT_DATE=$(julian2date ${CMD_JUL}) . . . i=i-1 done (1 Reply)
Discussion started by: bhagya2340
1 Replies

9. Shell Programming and Scripting

For loop in ksh..Please help..

Hi ALL, I need to take some command line arguments for my script and then want to run a function for each argument.I thought of using for loop as below, but its not working , can some one please help... #!/bin/ksh lpar1=$1 lpar2=$2 lpar3=$3 lpar4=$4 lpar5=$5 echo "$lpar1" >>lpar.txt echo... (4 Replies)
Discussion started by: prashant43
4 Replies

10. Shell Programming and Scripting

ksh while loop

hi all, got this silly problem and i just can't seem to make sense of the error message its is saying 1400: cannot open. its my first time at writing a while loop but tried all sorts to get it working without success. #!usr/bin/ksh integer max=1400 set file="afilename" integer i=1 ... (3 Replies)
Discussion started by: scriptingmani
3 Replies

Featured Tech Videos