Mivel szezon van, tömeges megkeresések záporoznak felém, tudakolván, hogy mikor lesz folytatása a hirtelen félbemaradt azonos tartalmú kertészeti, minimum 4000 karakter hosszúságú, hozzászólásaim percenkénti közreadásának. Eddig az a taktikát követtem, hogy ilyenkor mindig elküldtem a linket: https://linuxmint.hu/comment/65379#comment-65379, gondolván ebben benne van minden. Nem feltételeztem, hogy más is ennyire kevéssé orientált térben és időben, mint én, ami újabb kérdéseket szül. Mert rendben, balacy kihívásának értelmében a végdátum május 12-e éjfél, de az még mennyi idő? Egyáltalán ma hanyadika van? Macerás ezt mindig kiszámolni.
Elkezdtem keresni az interneten és ezt találtam: https://linuxconfig.org/time-countdown-bash-script-example
Szóval nyitottam egy terminált:
nano countdown.sh
beillesztettem az alábbi tartalmat:
#!/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 _R=0 _C=7 tmp=0 percent=0 total_time=0 col=`tput cols` col=$[ $col -5 ] while [ $sec_rem -gt 0 ]; do clear date let sec_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 "A kihívás végéig hátravan:" echo "hét: " $weeks echo "nap: " $days echo "óra: " $hours echo "perc: " $minutes echo "másodperc:" $seconds echo -n "[" progress=$[$progress + 1] if [ $total_time -lt 1 ] ; then total_time=$[$hours * 3600 + $minutes * 60 + $seconds] fi printf -v f "%$(echo $_R)s>" ; printf "%s\n" "${f// /=}" _C=7 tput cup 7 $col tmp=$percent percent=$[$progress * 100 / $total_time] printf "]%d%%" $percent change=$[$percent - $tmp] _R=$[ $col * $percent / 100 ] sleep 1 done printf "\n"
Elmentettem a fájlt (Ctrl+O), majd kiléptem a Nano-ból (Ctrl+X)
A
chmod +x countdown.sh
paranccsal futtathatóvá tettem a fájlt.
Következett a
nano challange-countdown.sh
ebbe a fájlba a
#!/bin/bash ./countdown.sh -d "May 13 2024"
tartalmat tettem. Természtesen ezt is elmentettem, majd futtathatóvá tettem.
chmod +x challange-countdown.sh
Kész is vagyok. Most már csak nyitok egy terminált és kiadom a
./challange-countdown.sh
parancsot, máris pontos választ tudok adni ezzel a fontos kérdéssel kapcsolatban. :-)
A folyamat futását Ctrl+C-vel tudjátok megszakítani.
Lehet még fésülgetni, cicomázni, akár az indítópultba is betehető formában elkészíteni a dolgot, de alapvetően működik, a kihívásban szintén résztvevő fórumtársaknak is talán segítséget nyújthat abban, meddig tart még a vállalásuk, mennyi idejük van mondjuk elkészíteni az ennek keretében beküldendő blogbejegyzéseiket.
Hozzászólások
Ki hogyan halad a kihívással?
Beküldte kami911 -
Értékelés:
Ki hogyan halad a kihívással?
Ki hogyan halad a kihívással?
Beküldte csuhas32 -
Értékelés:
Mivel a kihívást balacy hirdette meg, az lenne az igazi, ha ő értékelné, ki hogyan teljesített még akkor is, igencsak örülnék ennek, ha kapok majd egy kis jogos feddést. :-)
Egyébként a kihívás vége egybeesik egy másik eseményével is, úgyhogy az abból hátralévő időt is mutatja ez a kis visszaszámláló, akár el lehetett volna nevezni arról is, de a challenge-ben szerepelt, hogy bizonyos dolgokról nem beszélünk és hát ez is köztük volt.
Amúgy a visszaszámláló nekem így jobban tetszik:
Ha valakit esetleg érdekel, itt a változtatott részlet: