Forum: PC-Programmierung Wakeup mit RTC in Linux


von Frank (Gast)


Lesenswert?

Hallo zusammen,
ich möchte meinen PC (Ubuntu 14.04) mit Hilfe der internen Uhr 
einschalten. Um dies zu testen hab ich folgendes probiert

sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
sudo sh -c "echo `date '+%s' -d '+ 3 minutes'` > 
/sys/class/rtc/rtc0/wakealarm"

Dies funktioniert auch soweit. Nun wollte ich eine absolute Uhrzeit 
angeben mit Hilfe von
sudo sh -c "echo date --date='10/21/2012 21:46:00' +'%s' > 
/sys/class/rtc/rtc0/wakealarm"

Leider funktioniert dies nicht. Könnt ihr mir helfen wie ich das richtig 
angebe??
Danke

von Matthias R. (baldo_der_baer)


Lesenswert?

Versuch es mit
echo $(date --date='10/21/2012 21:46:00' +'%s')

damit sollte es laufen

von LOL (Gast)


Lesenswert?

Das Problem ist meist, das "sudo" nicht auf die Umleitungen bzw. pipes 
greift. (Leider steht in der Fragestellung ja nicht was genau die 
Fehlermeldung bzw. der Fehler denn ist ;) )

Insbesondere wird bei
1
sudo echo >blaa
das "echo" also root ausgeführt, die Datei "bla" aber als aktueller User 
zugegriffen.
Ein einfacher Workaround, der fast immer funktioniert und halbwegs 
offensichtlich ist ist dieser:
1
echo trallalla |sudo tee blaa >/dev/null

d.h. man nimmt für Schreibzugriffe in Dateien "tee" und schickt die 
überflüssige Konsolenausgabe gen /dev/null.

Das erspart einem unübersichtliche Spielereien mit subshells sowie " , ' 
und escapes davon...

von asdfasd (Gast)


Lesenswert?

Vergleiche was die verschiedenen Varianten machen:
1
# echo `date`
2
Thu Oct 22 07:35:28 CEST 2015
3
# echo $(date)
4
Thu Oct 22 07:35:28 CEST 2015
5
# echo date
6
date
7
# date
8
Thu Oct 22 07:35:28 CEST 2015

Las also einfach das echo-geraffel weg.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.