Execute while loop


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Execute while loop
# 1  
Old 01-20-2009
Execute while loop

Hi,

I have a background process running for which I want to know the status continuously.
I want to execute a WHILE loop in the command prompt so that it keeps on displaying in the screen.But, I am getting the following errors :-

hyper20:~ 3> while [1]
while?
while?
hyper20:~ 4> while {1}
while?
while?
hyper20:~ 5> while [ 1 ]
while: Expression Syntax.


Could someone please help me in this ?

Thanks.
# 2  
Old 01-20-2009
Here's the syntax of while loop:

Code:
while command_t
do
         command
         command
         ...
done

Where command_t is executed and its exit status tested. If it's zero, the commands enclosed between the do and done are executed. Then command_t is executed again and its exit status tested. If it's zero, the commands enclosed between the do and done are once again executed. This process continues until command_t returns a nonzero exit status. At that point, execution of the loop is terminated. Execution then proceeds with the command that follows the done.

Why not substitute 1 with true and drop the parenthesis, braces, and brackets Smilie
# 3  
Old 01-20-2009
Hi,
Thanks for the suggestion.

I tried droping 1 with the parenthesis , braces and brackets but then it is giving the following error:-

hyper20:~ 15> while true
while: Expression Syntax.
hyper20:~ 16> while false
while: Expression Syntax.
hyper20:~ 17>


My intended execution of steps are:-

while [1]
do
ps -eaf | grep rm
sleep 10
done

But then this is not working when I execute it from the command prompt Smilie

Could you please help me in this ?

Thanks.
# 4  
Old 01-20-2009
Running
Code:
while true ; do echo Bla ; sleep 10 ; done

works fine on ksh/HP-UX and bash/Linux.

What shell / OS are you using, maybe it isn't POSIX compliant.
# 5  
Old 01-20-2009
Hi,

I copy pasted the while line written above but then it is giving "Expression Syntax" error.
I am using /bin/tcsh Shell and OS is Linux 2.4.21-50.

Please let me know if this helps Smilie

Thanks.
# 6  
Old 01-20-2009
Sorry, I don't know much about csh and it's derivates, except that it can't handle the syntax of the POSIX shell (sh, ksh, bash, ...)
If possible, try switching to bash or ksh, as the only examples of csh "programming" are almost but not completely unmaintainable.
# 7  
Old 01-26-2009
A Small Example

Here goes a Small example of a while in C-Shell :

Code:
while (1)
   date
   sleep 1
end

Good Luck, and Success !

Botao
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Exit while loop on execute script

Hi, I have first script which on IR remote command event execute the second script. If the second script is executed, it display echo "timeout expired" after 10s. This works as expected. But I also want to reset timer (increase time) in case if the second script is executed again within 10s. ... (8 Replies)
Discussion started by: armatron
8 Replies

2. Shell Programming and Scripting

How to execute a command inside a while loop?

How do we execute a command inside a while loop? (7 Replies)
Discussion started by: Little
7 Replies

3. Shell Programming and Scripting

Execute command with loop

I have a below command ALTER TABLE `abc` ADD PARTITION ( PARTITION 20130613 VALUES less than (DAY('13'))); Below is requirement It runs in Loop as DAY start with 13 and end with 100 along with this of counter "20130613" also increases per command as the next command should be ... (8 Replies)
Discussion started by: kaushik02018
8 Replies

4. Shell Programming and Scripting

How to execute a no of SELECT COUNT(*) statements using a loop

HI Unix Gurus, I have a number of SELECT count(*) statements in an input file and I want to execute it using a shell script but one by one using loop in script.... How can I do this..... (7 Replies)
Discussion started by: ustechie
7 Replies

5. UNIX for Dummies Questions & Answers

unable to execute while loop

Hi everyone. I wanted to print numbers from 1 to 5 in reverse order. For this I used the following code: #!/bin/bash x=5 while do echo $x x=`expr $x - 1` echo "" done echo "" Well but on compiling the above code, it gives the following error. ... (3 Replies)
Discussion started by: grc
3 Replies

6. UNIX for Dummies Questions & Answers

For Loop to execute a command on a series of files

Hello, I have a set of input data that I split into batches using the following command: split -l 4000000 MyInput.in Split_a Once I get the split files, I run a certain command on the split files that spews an output. So far I have been doing it without a for loop. How can I translate the... (2 Replies)
Discussion started by: Gussifinknottle
2 Replies

7. Shell Programming and Scripting

Execute Loop in Telnet

hi Everyone , have a nice day #!/bin/sh ( sleep 1 echo "LOGIN:username:password;" sleep 1 while IFS= read -r line do #echo $line GET:VOUCHERDETAIL:VoucherSerialNumber,$line; >> /home/status_log done < /home/status.txt sleep 1 echo "LOGOUT;") | telnet 127.0.0.1 7021 , it... (2 Replies)
Discussion started by: Dastard
2 Replies

8. UNIX for Dummies Questions & Answers

how to execute a while loop for 20 minutes?

I want to execute a while loop (or any other loop) for 20 minutes. I have extracted the minutes and seconds from the current system date by using the command y = `date +%M%S` How to proceed ?? (6 Replies)
Discussion started by: subhotech
6 Replies

9. Shell Programming and Scripting

loop does not execute in bash script?

I have a very basic bash shell script, which has many "while... done; for .... done" loop clauses, like the following ~~ #!/bin/bash while blablalba; do .... done < /tmp/file for line in `cat blablabla`; do grep $line /tmp/raw ; done > /tmp/1; while blablalba2; do .... done <... (2 Replies)
Discussion started by: fedora
2 Replies

10. Shell Programming and Scripting

Execute commands parallel in a for loop ?

Hi, please can someone point me in the right direction with a shell scripting problem. I want to execute a command in a for loop and the command should be started not one-by-one meaning the for loop is waiting for the exit code , it should be started in parallel. I have a plain text file... (3 Replies)
Discussion started by: networkfre@k
3 Replies
Login or Register to Ask a Question