Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: deathfish 16 Listopadu 2012, 21:48:23
-
Prosím pomozte mi s jednoduchým skriptem na odpočítávání, který by zobrazoval odpočet 3 minut.
Našel jsem dva skripty, ale
první při odpočtu správně zobrazuje jen jednociferné číslo, např 9 vteřin takto: 9... 8... 7.... atd
při odpočtu dvou a víceciferných čísel odpočítává takto např 19 vteřin: 11119.... 11118... 11117..atd
#!/bin/bash
seconds=9
echo -n "cislo je $seconds"
sleep 1
while [ $seconds -ge 0 ]
do
sleep 1
echo -en "\b$seconds"
seconds=$(expr $seconds - 1 )
done
Druhý script zase píše každou vteřinu na nový řádek:
10
9
8
atd...
#!/bin/bash
seconds=10
(
for i in $(seq $seconds -1 1); do
echo "$i seconds to end...";
sleep 1;
done;
echo "end!")
sleep 2
Jde některý script překopat tak aby na jednom řádku odpočítal 180 vteřin nebo ještě lépe 3:00 min ?
-
#!/bin/bash
seconds=19
echo -n "cislo je $seconds"
sleep 1
while [ $seconds -ge 0 ]
do
sleep 1
echo -en "\r`tput el`$seconds"
seconds=$(expr $seconds - 1 )
done
Vysvětlení: "\b" posune kurzor o jedno doleva, takže u jednociferných čísel to funguje hezky -- vypíše se devítka, kurzor se posune doleva a napíše osmičku -- ale u dvouciferných to jaksi nefunguje (vypíše se 11, posune se o jedno doleva a napíše 10, takže máme rázem 110). Já použil "\r", které posune kurzor na začátek řádku a ten jsem pak pomocí "tput el" vymazal.
Minuty: Chceš-li minuty/hodiny atp. tak si ten skript musíš rozšířit o funkci, která z (například) "185 sekund" zjistí kolik to je minut. (Hint: 185 / 60 = 3 a 185 % 60 = 5.)
-
děkuji fachá skvělě,
A ještě drobnost existuje nějaká česká stránka s vysvětlením Bash příkazů ?
Něco jako toto ale česky:
http://ss64.com/bash/index.html
-
ceskejch serialu/stranek o skriptovani v bashi je fakt spousta ... pouzij prosim google
-
mé oblíbené
http://www.abclinuxu.cz/serialy/bash (http://www.abclinuxu.cz/serialy/bash)
http://www.linuxexpres.cz/praxe/serial-o-bashi (http://www.linuxexpres.cz/praxe/serial-o-bashi)