Hier einfach nur ein kleines Skript für eine Stoppuhr. Artikel soll später mal nach Skripte/Stoppuhr kommen.
[neuer Artikel] Stoppuhr
![]() Anmeldungsdatum: Beiträge: 786 |
|
![]() Anmeldungsdatum: Beiträge: Zähle... |
Hallo Rorschach ! Wenn ich das in der Konsole startet, habe ich da ca. 20 x die Anzeige.Ist das gewollt ? Wäre das nicht sowas ähnlich wie das Timer Applet(der zählt ja leider nur die voreingestellte Zeit runter) in einer kleinen Anzeige im Panel schöner ? Ich kann leider nicht sowas proggen/schreiben, sonst hätte ich mir das schon lange erstellt. Eine richtige Stoppuhr ist ja sicher auch für andere vllt. mal interessant. Gruss fujicolor |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 786 |
fujicolor, ja genau das tut das Skript. Es emuliert auf sehr minimalistische Art und Weise eine Stoppuhr doch das tut es sehr genau und zuverlässig. Es benötigt nur die Bash und ist somit für jeden nutzbar. |
Anmeldungsdatum: Beiträge: 770 |
Hmm, das Skript müllt mir meine Konsole zu, indem es mir -zig mal hintereinander die gleiche Anzahl vergangener Sekunden anzeigt. Warum nicht wenigstens ein sleep rein ? #!/bin/sh BEGIN=$(date +%s) while : ; do NOW=$(date +%s) DIFF=$(($NOW - $BEGIN)) MINS=$(($DIFF / 60)) SECS=$(($DIFF % 60)) if [ ${#SECS} -gt 1 ]; then echo Time elapsed: ${MINS}:${SECS} else echo Time elapsed: ${MINS}:0${SECS} fi sleep 1 done jetzt auch kompatibel zur dash und ohne printf (da seltener als built-in vorhanden) oder gar so: #!/bin/bash echo -e -n "Time elapsed: " BEGIN=$(date +%s) while : ; do NOW=$(date +%s) DIFF=$(($NOW - $BEGIN)) MINS=$(($DIFF / 60)) SECS=$(($DIFF % 60)) if [ ${#SECS} -lt 2 ]; then T1="0${SECS}" else T1=$SECS fi if [ ${#MINS} -lt 2 ]; then T2="0${MINS}" else T2=$MINS fi echo -e -n "\b\b\b\b\b${T2}:${T1}" sleep 0.5 done funktioniert nicht unter allen Konsolen ( und nicht mehr ganz kompatibel zur dash, echo müsste durch /bin/echo ersetzt werden, da dass built-in nicht "-e -n" versteht,....) |
Anmeldungsdatum: Beiträge: 29567 |
Hallo, das es nicht mehr in der Dash funktioniert ist IMHO egal - BASH ist ja nach wie vor die interaktive Shell unter Ubuntu. Ansonsten würde ich auch stark ein Skript favorisieren, welches nicht alle 0,00x Sekunden die Ausgabe aktualisiert, auch wenn "nichts" passiert ist. Gruß, noisefloor |
Anmeldungsdatum: Beiträge: 99 |
Guten Morgen, habe mal diese "Stoppuhr" getestet, zwar ist es richtig, dass pro Sekunde mehrere Einträge erscheinen, funktionieren tut das Programm am zweifelsfrei ☺ Wie soll mit dem Artikel weiter vorgegangen werden? Der soll ja nicht ewig in der Baustelle liegen 😀 gruß bang |
Anmeldungsdatum: Beiträge: 29567 |