Sponsored Content
Full Discussion: Bash - countdown timer
Top Forums Shell Programming and Scripting Bash - countdown timer Post 302597879 by drl on Sunday 12th of February 2012 06:59:36 PM
Old 02-12-2012
Hi.

I'd rather a program handle all the escapes, special sequences, etc. Here's an example that writes in a few places in my display:
Code:
#!/usr/bin/env bash

# @(#) s1	Demonstrate tput row column addressing, 0 0 upper left.

pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }

SLEEP=${1-10}

COLS=$( tput cols )
ROWS=$( tput lines )
tput init
tput clear

# Put in line (row) numbers.
for (( row=0 ; row < $ROWS ; row++ ))
do
  tput cup $row 0
  echo -n $row
done

tput cup 0 10
echo -n " This is the top row."

tput cup 3 4
echo -n "Hello, world (one)."
echo "Hello, world (two)."
echo "Hello, world (three)."

tput cup 5 4
echo -n "Midday, world (one)."
echo "Midday, world (two)."
echo "Midday, world (three)."

tput cup 8 4
echo -n "Goodbye, world (one)."
echo "Goodbye, world (two)."
echo "Goodbye, world (three)."

tput cup 10 30
echo -n "Sleep, clear, reset ..."
sleep $SLEEP
tput clear
tput reset

C=$HOME/bin/context && [ -f $C ] && $C tput
pe

exit 0

which will produce output in several lines on the screen.

See man tput for details ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

shell script - loop to countdown

I am taking a class in UNIX and have written a script that needs to countdown from a number that is read in from the keyboard to zero. If no number is given the start of the countdown should default to 10. I can't get this to do the default #! /bin/sh echo Enter a number here to countdown... (2 Replies)
Discussion started by: froggwife
2 Replies

2. Shell Programming and Scripting

Display runnning countdown in a bash script?

I am looking for a way to display on a single line, a running countdown for a given amount of time in a terminal using a bash script. I am looking for this to use as part of a larger bash script that captures Video. The script sets up a bunch of parameters for DVgrab, and one of the parameters... (11 Replies)
Discussion started by: Starcast
11 Replies

3. UNIX for Dummies Questions & Answers

countdown in unix?

is there a script to preform a countdown from 10 seconds to 0? (5 Replies)
Discussion started by: JamieMurry
5 Replies

4. Shell Programming and Scripting

countdown to christmas

was wondering if there was a script that would countdiwn the days until christmas (3 Replies)
Discussion started by: trob
3 Replies

5. Shell Programming and Scripting

Stop! (the countdown!) :-) shell script help

Hi guys, I've found two nifty little scripts on these forums one which detects if the F5 key has been pressed: #/bin/sh _key() { local kp ESC=$'\e' _KEY= read -d '' -sn1 _KEY case $_KEY in "$ESC") while read -d '' -sn1 -t1 kp do _KEY=$_KEY$kp ... (0 Replies)
Discussion started by: rich@ardz
0 Replies

6. Shell Programming and Scripting

Anyone know of any FUN countdown script

Hi all, Does anyone know of any FUN countdown script that I can use for my script? At the moment, am just using sleep 10 or more and then print stuff into the screen to allow more time for the user to decide whether they want to continue running the script or abort? Just thought of wanting... (3 Replies)
Discussion started by: newbie_01
3 Replies

7. Shell Programming and Scripting

Perl script countdown

In the below bash when the perl is it possible to hide the commands from running on screen and display a process countdown? For example, on the cygwin screen now the user sees each process in the command running as running protocol refGene, running protocol popfreq_all, etc... Could a... (0 Replies)
Discussion started by: cmccabe
0 Replies

8. Shell Programming and Scripting

Bash process timer

I have a bash with several processes in it, that I would like to include a progress bar or percentage complete. Below are two separate processes that, so the user knows that something is happening, there is an an indicator for each process. Maybe, at the start of each new process a printf the... (2 Replies)
Discussion started by: cmccabe
2 Replies

9. Ubuntu

Countdown timer with seconds

I would like this to work with seconds as well. #!/bin/bash # if ; then echo "Incorrect usage ! Example:" echo './CountDown.sh -d "Jun 10 2011 16:06"' echo 'or' echo './CountDown.sh -m 90' exit 1 fi now=`date +%s` if ; then until=`date -d... (7 Replies)
Discussion started by: drew77
7 Replies

10. UNIX for Beginners Questions & Answers

Banner Countdown Timer

Hello. I am pretty new to unix and shell scripting and I was wondering if there might be a way to banner a countdown timer inside a script. We currently have an existing script that does a 2 minute sleep but thought it might be fun to actually make it banner a countdown timer until it is finished.... (3 Replies)
Discussion started by: thumbelina
3 Replies
TPUT(1) 						    BSD General Commands Manual 						   TPUT(1)

NAME
tput, clear -- terminal capability interface SYNOPSIS
tput [-T term] attribute ... clear DESCRIPTION
The tput utility makes terminal-dependent information available to users or shell applications. When invoked as the clear utility, the screen will be cleared as if tput clear had been executed. The options to tput are as follows: -T The terminal name as specified in the termcap(5) database, for example, ``vt100'' or ``xterm''. If not specified, tput retrieves the ``TERM'' variable from the environment. The tput utility outputs a string for each attribute that is of type string; a number for each of type integer. Otherwise, tput exits 0 if the terminal has the capability and 1 if it does not, without further action. If an attribute is of type string, and takes arguments (e.g. cursor movement, the termcap ``cm'' sequence) the arguments are taken from the command line immediately following the attribute. The following special attributes are available: clear Clear the screen (the termcap(5) ``cl'' sequence). init Initialize the terminal (the termcap(5) ``is'' sequence). longname Print the descriptive name of the user's terminal type. reset Reset the terminal (the termcap(5) ``rs'' sequence). EXIT STATUS
The exit status of tput is as follows: 0 If the last attribute attribute argument is of type string or integer, its value was successfully written to standard output. If the argument is of type boolean, the terminal has this attribute. 1 This terminal does not have the specified boolean attribute. 2 Usage error. 3 No information is available about the specified terminal type. SEE ALSO
termcap(5), terminfo(5) STANDARDS
The tput utility conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
The tput utility appeared in 4.4BSD. BUGS
The tput utility cannot really distinguish between different types of attributes. Some termcap entries depend upon having a '%' in them that is just a '%' and nothing more. Right now we just warn about them if they do not have a valid type declaration. These warnings are sent to stderr. BSD
June 15, 2002 BSD
All times are GMT -4. The time now is 10:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy