Mitglied 26876
Gast
Moin Jungs…
Ich habe ein äußerst merkwürdiges Problem bei der Programmierung meiner GeekTool Scripts. Ich habe ein Main Script, dass Sachen im Background regelt, z.B. Pings ausführt und die Ausgaben jeweils in Dateien umleitet.
Jetzt fand ich das nette Tool namens "iCalBuddy" und fing sofort an es zu lieben.
Ich möchte meine Events von Morgen in eine Datei umleiten, um die Events zu displayen via GeekTool.
In einem eigenständigen Script funktioniert das Ganze auf wunderbar, aber wenn ich den Teil 1:1 in mein MainScript übertrage sagt GeekTool fail (roter Button) und die Datei der Termine bleibt stetig leer.
Aber warum?
Im eigenständigen Script sieht's so aus:
Alles kein Problem, das Ergebnis ist toll… Aber in meinem MainScript bleibt die Datei einfach leer, auch wenn ich meine Filterung weglasse.
Warum?
Auszug des MainScripts:
Wenn ich jetzt etwas wie folgend mache, geht das Ganze …
Aber sobald ich die Zahlen hinzusetze zur Filterung schlägt's fehl… Denke liegt an der einen Zeile… Was sagt ihr?
Jan
Edit:
Okay also ich bekomme grade auch diesen Code
umgeleitet, die Datei bleibt leer.
LÖSUNG:
Ich weiß nicht wie, ich weiß nicht warum. Jedoch musste ich den kompletten Pfad angeben, zu icalBuddy, meine ganzen Filterungen einmal rausnehmen, wieder einsetzen und plötzlich ging alles…
Ich hoffe ich kann Anderen weiter helfen!
Ich habe ein äußerst merkwürdiges Problem bei der Programmierung meiner GeekTool Scripts. Ich habe ein Main Script, dass Sachen im Background regelt, z.B. Pings ausführt und die Ausgaben jeweils in Dateien umleitet.
Jetzt fand ich das nette Tool namens "iCalBuddy" und fing sofort an es zu lieben.
Ich möchte meine Events von Morgen in eine Datei umleiten, um die Events zu displayen via GeekTool.
In einem eigenständigen Script funktioniert das Ganze auf wunderbar, aber wenn ich den Teil 1:1 in mein MainScript übertrage sagt GeekTool fail (roter Button) und die Datei der Termine bleibt stetig leer.
Aber warum?
Im eigenständigen Script sieht's so aus:
Code:
#!/bin/bash
#
# Prints tomorrow's events using icalBuddy
#
day_in_seconds=86400
# get current seconds since the epoch
sec=`date +%s`
# get tomorrows date as seconds since the epoch
sec_tomorrow=`expr ${sec} + ${day_in_seconds}`
# 'start' date/time, in the format required by icalBuddy
start_dt="`date -r ${sec_tomorrow} +'%Y-%m-%d 00:00:00 %z'`"
# 'end' date/time, in the format required by icalBuddy
end_dt="`date -r ${sec_tomorrow} +'%Y-%m-%d 23:59:59 %z'`"
# Resultat filtern: um die Kalender raus zu filtern werden mit sed alle eingeklammerten Elemente entfernt, weiter werden die Zeiten und Steuerzeichen gegrept.
icalBuddy eventsFrom:"${start_dt}" to:"${end_dt}"|sed s/\(.*\)//g| egrep -v [0-9]+ | egrep -o [A-ZÄÖÜ][a-zäöü].+>~/Desktop/stundenplan.txt
Alles kein Problem, das Ergebnis ist toll… Aber in meinem MainScript bleibt die Datei einfach leer, auch wenn ich meine Filterung weglasse.
Warum?
Auszug des MainScripts:
Code:
# Tageszeiten&Tag echon
echo $reaDatum>~/Library/Pinger/.datum
echo $uhrzeit>~/Library/Pinger/.time
# Termine von Morgen filtern und echon
day_in_seconds=86400
sec=`date +%s`
sec_tomorrow=`expr ${sec} + ${day_in_seconds}`
start_dt="`date -r ${sec_tomorrow} +'%Y-%m-%d 00:00:00 %z'`"
end_dt="`date -r ${sec_tomorrow} +'%Y-%m-%d 23:59:59 %z'`"
icalBuddy eventsFrom:"${start_dt}" to:"${end_dt}"| sed s/\(.*\)//g| egrep -v [0-9]+ | egrep -o [A-ZÄÖÜ][a-zäöü].+>~/Desktop/stundenplan.txt
Wenn ich jetzt etwas wie folgend mache, geht das Ganze …
Code:
echo "(sehr)Doof 543:123:321"| sed s/\(.*\)//g| egrep -o [A-ZÄÖÜ][a-zäöü].+>~/Desktop/stundenplan.txt
Jan
Edit:
Okay also ich bekomme grade auch diesen Code
Code:
icalBuddy eventsToday| head -n 1| sed s/\(.*\)//g| egrep -o [A-Z][a-z]+>~/Desktop/nextEvent.txt
LÖSUNG:
Ich weiß nicht wie, ich weiß nicht warum. Jedoch musste ich den kompletten Pfad angeben, zu icalBuddy, meine ganzen Filterungen einmal rausnehmen, wieder einsetzen und plötzlich ging alles…
Code:
# Termine von Morgen filtern und echon
day_in_seconds=86400
sec=`date +%s`
sec_tomorrow=`expr ${sec} + ${day_in_seconds}`
start_dt="`date -r ${sec_tomorrow} +'%Y-%m-%d 00:00:00 %z'`"
end_dt="`date -r ${sec_tomorrow} +'%Y-%m-%d 23:59:59 %z'`"
/usr/local/bin/icalBuddy eventsFrom:"${start_dt}" to:"${end_dt}"| sed s/\(.*\)//g| egrep -v [0-9]+| egrep -o [A-ZÄÖÜ][a-zäöü].+>~/Desktop/stundenplan.txt
Ich hoffe ich kann Anderen weiter helfen!
Zuletzt bearbeitet von einem Moderator: