Hi all, ich habe ein Problem bei einem bash Script, waer super wenn jemand einen Tipp fuer mich haette. Das Skript soll eine Art Stoppuhrfunktion beinhalten und die vergangene Zeit in eine Datei schreiben. Mein Ansatz bisher #!/bin/bash echo Stoppuhr gestartet, zum Stoppen Enter druecken... time read start Mit read erzeuge ich die notwendige Pause, bis der Benutzer Enter drueckt und time gibt mir die Zeit aus. Leider bekomme ich diese Ausgabe nicht in eine Datei umgelenkt. Mit > bin ich gescheitert. Gibt es da eine Moeglichkeit? Auch mit /usr/bin/time habe ich schon experimentiert. Da kann man wenigstens die Ausgabe in eine Datei umlenken, leider finde ich da bloss keine Moeglichkeit die Pause einzubauen, bis der Benutzer die Stoppuhr ausloest. Gruss Mathias
Mathias Mueller wrote:
ich habe ein Problem bei einem bash Script, waer super wenn jemand einen Tipp fuer mich haette.
Das Skript soll eine Art Stoppuhrfunktion beinhalten und die vergangene Zeit in eine Datei schreiben.
Mein Ansatz bisher
#!/bin/bash echo Stoppuhr gestartet, zum Stoppen Enter druecken... time read start
Mit read erzeuge ich die notwendige Pause, bis der Benutzer Enter drueckt und time gibt mir die Zeit aus. Leider bekomme ich diese Ausgabe nicht in eine Datei umgelenkt. Mit > bin ich gescheitert. Gibt es da eine Moeglichkeit? Auch mit /usr/bin/time habe ich schon experimentiert. Da kann man wenigstens die Ausgabe in eine Datei umlenken, leider finde ich da bloss keine Moeglichkeit die Pause einzubauen, bis der Benutzer die Stoppuhr ausloest.
Hmm, bist Du sicher dass Du time meinst und nicht date ? Um die Zeit auszugeben nimm besser date. Gruß, Andreas
Mathias Mueller wrote:
Mein Ansatz bisher
#!/bin/bash echo Stoppuhr gestartet, zum Stoppen Enter druecken... time read start
Soweit so gut. Zwei Punkte zum Anmerken: time liefert seine Ausgabe auf stderr aus und man bash hilft Dir weiter wenn Du nach der Klammerung der Befehle guckst. Denn time read start 2> erg Leitet die Fehlerausgabe von read um und nicht von time. Lösung: (time read start) 2> erg Hat bei mir jedenfalls gut funktioniert! Viele Grüße Jochen
Hallo Mathias, Am Donnerstag, 19. Juni 2003 18.55 schrieb Mathias Mueller:
Das Skript soll eine Art Stoppuhrfunktion beinhalten und die vergangene Zeit in eine Datei schreiben.
Mein Ansatz bisher
#!/bin/bash echo Stoppuhr gestartet, zum Stoppen Enter druecken... time read start
Mit read erzeuge ich die notwendige Pause, bis der Benutzer Enter drueckt und time gibt mir die Zeit aus. Leider bekomme ich diese Ausgabe nicht in eine Datei umgelenkt. Mit > bin ich gescheitert. Gibt es da eine Moeglichkeit?
Das ist ein wenig tricki. Denn erstens schreibt time seine Ausgabe auf stderr und zweitens schlaegt time alle nachfolgenden Optionen zum Befehl. Aber so sollte es gehen: #!/bin/bash echo Stoppuhr gestartet, zum Stoppen Enter druecken... ( time read start ) 2> /tmp/stoptime Grüsse Urs
participants (4)
-
Andreas Winkelmann
-
Jochen Schrader
-
Mathias Mueller
-
Urs Schaffner