This is a simple skeleton of a bash countdown script. The script takes two arguments . Here are some examples of its usage:

  • countdown time to 90 minutes from now:
./bash-countdown.sh -m 90
  • countdown time to 23.3.2036 from now:
./bash-countdown.sh -d "Mar 23 2036"
  • countdown time to 21:06 from now:
./bash-countdown.sh -d 21:06
  • countdown time to 21:06:45 from now:
./bash-countdown.sh -d 21:06:45

Feel free to modify this script according to your needs:

bash-countdown.sh :

#!/bin/bash 
 
if ["$#" -lt "2" ] ; 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 ["$1" = "-d" ] ; then 
until=`date -d "$2" +%s` 
sec_rem=`expr$until - $now` 
echo"-d" 
if [$sec_rem -lt 1 ]; then 
echo"$2 is already history !" 
fi 
fi 
 
if ["$1" = "-m" ] ; then 
until=`expr 60 \*$2` 
until=`expr$until + $now` 
sec_rem=`expr$until - $now` 
echo"-m" 
if [$sec_rem -lt 1 ]; then 
echo"$2 is already history !" 
fi 
fi 
 
 
while [$sec_rem -gt 0 ]; do 
clear 
date 
letsec_rem=$sec_rem-1 
interval=$sec_rem 
seconds=`expr$interval % 60` 
interval=`expr$interval - $seconds` 
minutes=`expr$interval % 3600 / 60` 
interval=`expr$interval - $minutes` 
hours=`expr$interval % 86400 / 3600` 
interval=`expr$interval - $hours` 
days=`expr$interval % 604800 / 86400` 
interval=`expr$interval - $hours` 
weeks=`expr$interval / 604800` 
echo"----------------------------" 
echo"Seconds: "$seconds 
echo"Minutes: "$minutes 
echo"Hours:   "$hours 
echo"Days:    "$days 
echo"Weeks:   "$weeks 
sleep 1 
done 

Do not forget to make bash-countdown.sh script executable before execution:

$ chmod +x bash-countdown.sh

Exectute:

./bash-countdown.sh -d 22:34

Output:

Fri Jun 11 20:55:19 EST 2010
----------------------------
Seconds:  40
Minutes:  38
Hours:    1
Days:     0
Weeks:    0


Free Linux eBooks

Do you have the right skills?

Our IT Skills Watch page reflects an up to date IT skills demand leaning towards the Linux and Unix environment. We have considered a number of skills and operating systems.

See the result...

Linux Online Training

Learn to run Linux servers and prepare for LPI certification with Linux Academy. 104 available video lessons with PDF course notes with your own server!

Go to top