bash: countdown-Script entfernt
This commit is contained in:
parent
edd2818046
commit
0132215e23
1 changed files with 0 additions and 185 deletions
185
countdown
185
countdown
|
@ -1,185 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# geklaut vom linuxhotel.de
|
|
||||||
LANG=C
|
|
||||||
export BUILD="2.9.64"
|
|
||||||
set -o nounset
|
|
||||||
|
|
||||||
function banner()
|
|
||||||
{
|
|
||||||
local -A b
|
|
||||||
local -i l
|
|
||||||
local -i i
|
|
||||||
|
|
||||||
b[00]=' 000'
|
|
||||||
b[01]=' 0 0'
|
|
||||||
b[02]='0 0 0'
|
|
||||||
b[03]='0 0 0'
|
|
||||||
b[04]='0 0 0'
|
|
||||||
b[05]=' 0 0'
|
|
||||||
b[06]=' 000'
|
|
||||||
b[07]=''
|
|
||||||
b[10]=' 1'
|
|
||||||
b[11]=' 11'
|
|
||||||
b[12]=' 1 1'
|
|
||||||
b[13]=' 1'
|
|
||||||
b[14]=' 1'
|
|
||||||
b[15]=' 1'
|
|
||||||
b[16]=' 11111'
|
|
||||||
b[17]=''
|
|
||||||
b[20]=' 22222'
|
|
||||||
b[21]='2 2'
|
|
||||||
b[22]=' 2'
|
|
||||||
b[23]=' 22222'
|
|
||||||
b[24]='2'
|
|
||||||
b[25]='2'
|
|
||||||
b[26]='2222222'
|
|
||||||
b[27]=''
|
|
||||||
b[30]=' 33333'
|
|
||||||
b[31]='3 3'
|
|
||||||
b[32]=' 3'
|
|
||||||
b[33]=' 33333'
|
|
||||||
b[34]=' 3'
|
|
||||||
b[35]='3 3'
|
|
||||||
b[36]=' 33333'
|
|
||||||
b[37]=''
|
|
||||||
b[40]='4'
|
|
||||||
b[41]='4 4'
|
|
||||||
b[42]='4 4'
|
|
||||||
b[43]='4444444'
|
|
||||||
b[44]=' 4'
|
|
||||||
b[45]=' 4'
|
|
||||||
b[46]=' 4'
|
|
||||||
b[47]=''
|
|
||||||
b[50]='5555555'
|
|
||||||
b[51]='5'
|
|
||||||
b[52]='5'
|
|
||||||
b[53]=' 55555'
|
|
||||||
b[54]=' 5'
|
|
||||||
b[55]='5 5'
|
|
||||||
b[56]=' 55555'
|
|
||||||
b[57]=''
|
|
||||||
b[60]=' 66666'
|
|
||||||
b[61]='6 6'
|
|
||||||
b[62]='6'
|
|
||||||
b[63]='666666'
|
|
||||||
b[64]='6 6'
|
|
||||||
b[65]='6 6'
|
|
||||||
b[66]=' 66666'
|
|
||||||
b[67]=''
|
|
||||||
b[70]='7777777'
|
|
||||||
b[71]='7 7'
|
|
||||||
b[72]=' 7'
|
|
||||||
b[73]=' 7'
|
|
||||||
b[74]=' 7'
|
|
||||||
b[75]=' 7'
|
|
||||||
b[76]=' 7'
|
|
||||||
b[77]=''
|
|
||||||
b[80]=' 88888'
|
|
||||||
b[81]='8 8'
|
|
||||||
b[82]='8 8'
|
|
||||||
b[83]=' 88888'
|
|
||||||
b[84]='8 8'
|
|
||||||
b[85]='8 8'
|
|
||||||
b[86]=' 88888'
|
|
||||||
b[87]=''
|
|
||||||
b[90]=' 99999'
|
|
||||||
b[91]='9 9'
|
|
||||||
b[92]='9 9'
|
|
||||||
b[93]=' 999999'
|
|
||||||
b[94]=' 9'
|
|
||||||
b[95]='9 9'
|
|
||||||
b[96]=' 99999'
|
|
||||||
b[97]=''
|
|
||||||
b[:0]=' :'
|
|
||||||
b[:1]=' :::'
|
|
||||||
b[:2]=' :'
|
|
||||||
b[:3]=''
|
|
||||||
b[:4]=' :'
|
|
||||||
b[:5]=' :::'
|
|
||||||
b[:6]=' :'
|
|
||||||
b[:7]=''
|
|
||||||
for ((l=0;l<8;l++)); do
|
|
||||||
for ((i=0;i<${#1};i++)); do
|
|
||||||
printf "%-8.8s" "${b[${1:i:1}$l]}"
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function usage()
|
|
||||||
{
|
|
||||||
local base="$(basename $0)"
|
|
||||||
echo "Build: $BUILD"
|
|
||||||
echo "Usage: $base HH:MM" >&2
|
|
||||||
echo " $base +minutes" >&2
|
|
||||||
echo " $base +0" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
elif [[ $1 =~ ^([01][0-9]|2[0-3]):[0-5][0-9]$ ]]; then
|
|
||||||
dateHHMMSS="${1}:00"
|
|
||||||
elif [[ $1 =~ ^\+[0-9]+ ]]; then
|
|
||||||
dateHHMMSS=$(date -d "now $1 minutes" +%H:%M:%S)
|
|
||||||
else
|
|
||||||
usage
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
clear
|
|
||||||
declare -i diff
|
|
||||||
declare -i initDiff=$(($(date -d "$dateHHMMSS" +%s)-$(date +%s)))
|
|
||||||
((initDiff == 0)) && initDiff=1
|
|
||||||
declare -i lenOutDate
|
|
||||||
declare -i lenOutTime
|
|
||||||
declare outDate
|
|
||||||
declare outTime
|
|
||||||
declare -r spaces=" "
|
|
||||||
declare -r pegel="#####################################"
|
|
||||||
declare -ri lenPegel=${#pegel}
|
|
||||||
declare -ri lenSpaces=${#spaces}
|
|
||||||
declare -i posPegel
|
|
||||||
declare -i pad
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
key=""
|
|
||||||
diff=$(($(date -d "$dateHHMMSS" +%s)-$(date +%s)))
|
|
||||||
|
|
||||||
outDate=$(date +"%Y-%m-%d %H:%M:%S")
|
|
||||||
outTime="${dateHHMMSS} (${diff})"
|
|
||||||
lenOutDate=${#outDate}
|
|
||||||
lenOutTime=${#outTime}
|
|
||||||
|
|
||||||
tput home
|
|
||||||
pad=$((lenSpaces-lenOutDate))
|
|
||||||
echo "${spaces:0:$((pad/2))}${outDate}${spaces:0:$((pad/2))} "
|
|
||||||
pad=$((lenSpaces-lenOutTime))
|
|
||||||
echo -e "${spaces:0:$((pad/2))}${outTime}${spaces:0:$((pad/2))} "
|
|
||||||
posPegel=$((($initDiff-$diff)*$lenPegel/$initDiff))
|
|
||||||
|
|
||||||
if (($diff >= 0 )); then
|
|
||||||
echo "[${pegel:0:$posPegel}${spaces:$((posPegel+2))}]"
|
|
||||||
else
|
|
||||||
echo "$spaces"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if (( $diff == 0 )); then
|
|
||||||
tput setaf 0
|
|
||||||
elif (( $diff < 0 )); then
|
|
||||||
((diff=-diff))
|
|
||||||
tput setaf 1
|
|
||||||
elif (( $diff < 60 )); then
|
|
||||||
tput setaf 4
|
|
||||||
else
|
|
||||||
tput setaf 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
banner $(date -d @$diff +%M:%S)
|
|
||||||
tput setaf 0
|
|
||||||
echo -ne "\r \r" &&
|
|
||||||
read -s -t 1 -n 1 && read -s -t 3 -n 1 -p "sure? (-/n) " key && [ "$key" != "n" ] && break
|
|
||||||
done
|
|
||||||
echo -en "\r"
|
|
Loading…
Reference in a new issue