Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 22.02.2007 - 12:24 Titel: Uptime formatieren |
|
|
Mal wieder ein Snippet aufgrund eines Apfeltalk Threads
Hiermit läßt sich die uptime direkt als Text "n days n hours n minutes" oder als record ermitteln.
Update: Dank iScripts Mithilfe jetzt (hoffentlich) fehlerfrei.
Zitat: | return uptime(true)
on uptime(as_record)
set up_time to do shell script "/usr/bin/uptime | /usr/bin/perl -ne '
if (
( ($d,$h,$m) = /\\s+up(?:\\s+(\\d+)\\s+days?,)?\\s+(\\d+):0?(\\d+)/ )
or
( ($m) = /(\\d+)\\s+min/ ) ) {
$d|= 0;
$h|= 0;
$d.= plural( $d, q( day) );
$h.= plural( $h, q( hour) );
$m.= plural( $m, q( minute) );
print qq($d $h $m\\n);
}
sub plural {
return $_[1] . ( $_[0] == 1 ? q// : q/s/ );
}
'
"
if as_record then
set up_time to words of up_time
return {d:item 1 of up_time as number, dtext:item 2 of up_time, h:item 3 of up_time as number, htext:item 4 of up_time, m:item 5 of up_time as number, mtext:item 6 of up_time}
end if
return up_time
end uptime
|
_________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Zuletzt bearbeitet von Skeeve am 28.02.2007 - 10:01, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 27.02.2007 - 08:37 Titel: |
|
|
hi, skeeve.
bei mir liefert das shell script nix als ergebnis. ist da evtl. irgendein zeichen durchs posten hopps gegangen? (denn so, wie ich dich kenne, ist das script ja bestimmt von dir getestet u. für gut befunden.) |
|
Nach oben |
|
|
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 27.02.2007 - 08:54 Titel: |
|
|
iScript hat Folgendes geschrieben: | hi, skeeve.
bei mir liefert das shell script nix als ergebnis. ist da evtl. irgendein zeichen durchs posten hopps gegangen? (denn so, wie ich dich kenne, ist das script ja bestimmt von dir getestet u. für gut befunden.) |
Hab es gerade per copy&paste übernommen und es läuft. Prüfe mal bitte die Pfade von uptime und perl. _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 27.02.2007 - 09:47 Titel: |
|
|
die pfade sind okay. es ist aber auch nicht so, dass ich es wirklich brauche.
ich wollte nur drauf aufmerksam machen. wenn's läuft, ist's ja okay. |
|
Nach oben |
|
|
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 27.02.2007 - 10:13 Titel: |
|
|
iScript hat Folgendes geschrieben: | die pfade sind okay |
Was passiert, wenn Du das perl script einzeln ausführst? Bedenke dabei, daß doppelte \ auf eins zu reduzieren sind. _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 27.02.2007 - 19:23 Titel: |
|
|
gleiches ergebnis, nämlich keines.
Code: | /usr/bin/uptime | /usr/bin/perl -ne 'if (($d,$h,$m)=/(\d+ days?),\s+(\d+):0?(\d+)/) { $h.= $h==1 ? q( hour) : q( hours); $m.= $m==1 ? q( minute) : q( minutes); print qq($d $h $m\n); }' |
/usr/bin/uptime liefert:
Code: | 18:24 up 23 mins, 2 users, load averages: 0.47 0.50 0.45 |
(vielleicht bin ich nicht lang genug "up" für deine perl-wurst?) _________________ - anholn deit kriegen - |
|
Nach oben |
|
|
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 27.02.2007 - 22:03 Titel: |
|
|
iScript hat Folgendes geschrieben: | /usr/bin/uptime liefert:
Code: | 18:24 up 23 mins, 2 users, load averages: 0.47 0.50 0.45 |
(vielleicht bin ich nicht lang genug "up" für deine perl-wurst?) |
GENAU! Danke für den Hinweis!
Was meldet es jetzt, wo Du schon über 1h up bist? _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
|
iScript •---->
Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 28.02.2007 - 00:35 Titel: |
|
|
Code: | 23:32 up 1:02, 3 users, load averages: 1.19 0.77 0.47 |
ergebnis: nix. |
|
Nach oben |
|
|
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 28.02.2007 - 10:13 Titel: |
|
|
iScript hat Folgendes geschrieben: | Code: | 23:32 up 1:02, 3 users, load averages: 1.19 0.77 0.47 |
ergebnis: nix. |
Ich weiß Ist jetzt eingebaut. Ich mußte nur wissen, wie das Format ist, um die Erkennung nachzuschieben. Eingebaut. Siehe Oben. _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
|
Nelly •-->
Anmeldedatum: 23.09.2006 Beiträge: 23
|
Verfasst am: 07.03.2007 - 13:09 Titel: |
|
|
Hallo Skeeve,
wie kann man sich das Ergebnis in einem Dialogfenster oder in der Menübar anzeigen lassen? Ich habe das Skript mal so kopiert und in den ScriptEditor eingefügt. Unter Event-Protokoll erhalte ich auch ein Ergebnis:
"0 days 1 hour 14 minutes"
Unter Ergebnis erhalte ich als Ausgabe {d:0, dtext:"days", h:1, htext:"hour", m:14, mtext:"minutes"}.
Wie kann ich mir das jetzt irgendwie anzeigen lassen? Mit display dialog war ich irgendwie dazu nicht in der Lage. Was mache ich falsch?
Viele Grüsse,
Nelly |
|
Nach oben |
|
|
spirigwi •----->
Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 07.03.2007 - 15:16 Titel: |
|
|
--hast du so probiert ?
property up_time : {d:0, dtext:"days", h:1, htext:"hour", m:14, mtext:"minutes"} --<--Beispiel
set up_time to words of up_time
display dialog up_time as text _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
|
Nelly •-->
Anmeldedatum: 23.09.2006 Beiträge: 23
|
Verfasst am: 07.03.2007 - 15:23 Titel: |
|
|
spirigwi hat Folgendes geschrieben: | --hast du so probiert ?
property up_time : {d:0, dtext:"days", h:1, htext:"hour", m:14, mtext:"minutes"} --<--Beispiel
set up_time to words of up_time
display dialog up_time as text |
Hallo spirigwi,
nein, ich habe keine Ahnung, was das ist. Ich dachte, ich könnte dann anschliessend mit 'display dialog uptime' die Zeit in einem Dialogfeld ausgeben lassen. Das scheint aber nicht der Fall zu sein. Das Skript an sich - sowohl Deins als das von Skeeve - sind mir viel zu hoch. Ich kann das nur ungefähr nachvollziehen.
Vielen Dank aber für die Mühe. Mir das erklären zu wollen, ist wahrscheinlich zwecklos .
Viele Grüsse,
Nelly |
|
Nach oben |
|
|
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 07.03.2007 - 15:24 Titel: |
|
|
Nelly hat Folgendes geschrieben: | Hallo Skeeve,
wie kann man sich das Ergebnis in einem Dialogfenster |
display dialog uptime(false) _________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
|
Nelly •-->
Anmeldedatum: 23.09.2006 Beiträge: 23
|
Verfasst am: 07.03.2007 - 15:30 Titel: |
|
|
Skeeve hat Folgendes geschrieben: | Nelly hat Folgendes geschrieben: | Hallo Skeeve,
wie kann man sich das Ergebnis in einem Dialogfenster |
display dialog uptime(false) |
Danke Skeeve, aber bei mir tut sich nichts. Wie gesagt, das Skript funktioniert an sich schon und gibt im Ergebnisfeld auch den richtigen Wert aus, aber mit 'display dialog uptime(false)' erhalte ich kein Dialogfeld.
Den Vorschlag von spirigwi habe ich auch getestet (wahrscheinlich habe ich es falsch gemacht). Wenn ich seinen Code an Deinen dranhänge, dann passiert - wie gehabt - nichts. Wenn ich seinen Code einzeln abspeichere, dann erhalte ich ein leeres Dialogfenster.
Viele Grüsse,
Nelly |
|
Nach oben |
|
|
Skeeve •---->
Anmeldedatum: 20.04.2006 Beiträge: 1067
|
Verfasst am: 07.03.2007 - 15:42 Titel: |
|
|
Nelly hat Folgendes geschrieben: | Danke Skeeve, aber bei mir tut sich nichts. Wie gesagt, das Skript funktioniert an sich schon und gibt im Ergebnisfeld auch den richtigen Wert aus, aber mit 'display dialog uptime(false)' erhalte ich kein Dialogfeld. |
Bei mir tut's. Ich nehme mal an, Du hast das display Dialog hinter das return geschrieben. Das kann natürlich nicht klappen.
So sollte es im Ganzen aussehen:
Zitat: | display dialog uptime(false)
on uptime(as_record)
set up_time to do shell script "/usr/bin/uptime | /usr/bin/perl -ne '
if (
( ($d,$h,$m) = /\\s+up(?:\\s+(\\d+)\\s+days?,)?\\s+(\\d+):0?(\\d+)/ )
or
( ($m) = /(\\d+)\\s+min/ ) ) {
$d|= 0;
$h|= 0;
$d.= plural( $d, q( day) );
$h.= plural( $h, q( hour) );
$m.= plural( $m, q( minute) );
print qq($d $h $m\\n);
}
sub plural {
return $_[1] . ( $_[0] == 1 ? q// : q/s/ );
}
'
"
if as_record then
set up_time to words of up_time
return {d:item 1 of up_time as number, dtext:item 2 of up_time, h:item 3 of up_time as number, htext:item 4 of up_time, m:item 5 of up_time as number, mtext:item 6 of up_time}
end if
return up_time
end uptime |
_________________ "All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies") |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|