Sponsored Content
Top Forums Shell Programming and Scripting 60 second Timer with Shell Script Post 302358739 by Scrutinizer on Sunday 4th of October 2009 11:59:25 AM
Old 10-04-2009
Quote:
Originally Posted by pen
Works (almost) fine in bash, too. But I don't understand the use of the sleep command as a background process. Furthermore, the "done" messages caused by returning sleeps disturb the display :-(
Hi Pen, the sleep in the background ensures that you use as little time as possible processing the other commands in the loop. Otherwise total sleep is sometimes a bit more than 60 seconds.
You'll get done messages if you execute it from the command line, not if you execute it from a script. Alternatively you can enclose it in parentheses like so:
Code:
(for (( i=60; i>0; i--)); do
  sleep 1 &
  printf "  $i \r"
  wait
done)

Then you won't get the pesky job status.
Or you can put it in a function like CFA suggests..
(BTW I just changed the \b\b for \r because now I realise the backspaces weren't working properly).
Quote:
Nevertheless, much simplier would be just the good ole
Code:
sleep 60; echo "\a"

BR,

pen
Indeed, but it is my understanding that the OP requested a countdown timer.

Last edited by Scrutinizer; 10-04-2009 at 02:55 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

timer

Hi all, Wanted to a create a shell script ----------------------------------------------------------------------- 1) which when called will start a timer and wait for 48 hours. after 48 hours it will call some function(say XYZ) 2) Whenever this shell script is called (can be called... (3 Replies)
Discussion started by: k_oops9
3 Replies

2. UNIX for Dummies Questions & Answers

script run timer

any of you guys have a script for measuring the run time of any given script, where you would sandwich your own script between the timer script or something? thanks! :) (2 Replies)
Discussion started by: mark_nsx
2 Replies

3. Shell Programming and Scripting

Simple script? First timer...

Hey guys, I'm brand new to the bash scripting world, here's my issue.. When people SSH to my box, I'm wanting to use screen to monitor them if I so choose. So, I've created a new user: testing, and I've set its startup shell to /bin/myshell.sh whose contents read this: #!/bin/sh $me =... (4 Replies)
Discussion started by: poon
4 Replies

4. Shell Programming and Scripting

Timer

Is there a way to make a timer? E.g Please give the seconds... ... (6 Replies)
Discussion started by: aekaramg20
6 Replies

5. Shell Programming and Scripting

Startup Script "run process with Timer"

Hi I have a script that execute every X minute for checking new files in a folder and converting to pdf. Is there any way to start this script automatically on linux startup?. I use sleep function in script with infinite loop. while do killall -u `whoami` -q soffice soffice... (0 Replies)
Discussion started by: zawmn83
0 Replies

6. UNIX for Dummies Questions & Answers

Timer

is there a timer function in unix without using C? for example i want to display a message after 5 seconds how do i do that? (2 Replies)
Discussion started by: khestoi
2 Replies

7. Shell Programming and Scripting

Perl script timer on program launch

So I am attempting to get a short but complex perl script to be able to time out an application that I will launch from a command line. The terminal I use is MKS C SHELL and I am having trouble doing the a job spawn that will launch the application and keep time on it. I know you could do this... (1 Reply)
Discussion started by: vas28r13
1 Replies

8. UNIX for Dummies Questions & Answers

Shell Script / Timer

Hey folks, We already got a working Script running, but actually we gotta start it manually but at least we want to run it like every 30minutes 1time. Could anyone give it a shot? #!/bin/sh for i in A B C D E F G H I J K L M N O P Q R S T U V W X Z do ln -sv /x/$i/*/PDF/001-*.*... (1 Reply)
Discussion started by: Yjerith
1 Replies

9. Shell Programming and Scripting

Looping in the shell script with help of script timer.

Hello Experts- We are facing some issues in the while loop script when we use the script time to decide whether to exist from the loop or continue. Below is the script SrcExitLoop="FALSE" Src_InitialStartTime=`date +%s` Src_StartTime=`date +%s` Src_NUM_ALERTS=0 TOTAL_ALERTS=`expr <SOME... (4 Replies)
Discussion started by: Amey Joshi
4 Replies

10. UNIX for Dummies Questions & Answers

Help please with FTP timer script

Hi Could somebody please help me with this code? ------------------------------------------ @ftp -i -s:"%~f0"&GOTO:EOF open mysite.co.uk myusername mypassword !:--- FTP commands below here --- cd public_html/ binary lcd c:\ put myfile.jpg bye ... (3 Replies)
Discussion started by: dobbies
3 Replies
SLEEPENH(1)						      General Commands Manual						       SLEEPENH(1)

NAME
sleepenh - an enhanced sleep program. SYNOPSIS
sleepenh [initial-time] sleep-time DESCRIPTION
sleepenh is a program that can be used when there is a need to execute some functions periodically in a shell script. It was not designed to be accurate for a single sleep, but to be accurate in a sequence of consecutive sleeps. After a successful execution, it returns to stdout the timestamp it finished running, that can be used as initial-time to a successive exe- cution of sleepenh. OPTIONS
There are no command line options. Run it without any option to get a brief help and version. ARGUMENTS
sleep-time is a real number in seconds, with microseconds resolution (1 minute, 20 seconds and 123456 microseconds would be 80.123456). initial-time is a real number in seconds, with microseconds resolution. This number is system dependent. In GNU/Linux systems, it is the number of seconds since midnight 1970-01-01 GMT. Do not try to get a good value of initial-time. Use the value supplied by a previous exe- cution of sleepenh. If you don't specify initial-time, it is assumed the current-time. EXIT STATUS
An exit status greater or equal to 10 means failure. Known exit status: 0 Success. 1 Success. There was no need to sleep. (means that initial-time + sleep-time was greater than current-time). 10 Failure. Missing command line arguments. 11 Failure. Did not receive SIGALRM. 12 Failure. Argument is not a number. 13 Failure. System error, could not get current time. USAGE EXAMPLE
Suppose you need to send the char 'A' to the serial port ttyS0 every 4 seconds. This will do that: #!/bin/sh TIMESTAMP=`sleepenh 0` while true; do # send the byte to ttyS0 echo -n "A" > /dev/ttyS0; # just print a nice message on screen echo -n "I sent 'A' to ttyS0, time now is "; sleepenh 0; # wait the required time TIMESTAMP=`sleepenh $TIMESTAMP 4.0`; done HINT
This program can be used to get the current time. Just execute: sleepenh 0 BUGS
It is not accurate for a single sleep. Short sleep-times will also not be accurate. SEE ALSO
date(1), sleep(1). AUTHOR
This manual page was written by Pedro Zorzenon Neto. 2008/04/20 SLEEPENH(1)
All times are GMT -4. The time now is 04:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy