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