Hallo
da ich vom skripten nicht so viel Ahnung habe und ausgehen von diesem Thread dachte ich mir,ich versuche mal zu Übungszwecken ein Skript zu schreiben das ansatzweise das tut was GShutdown tut.Ich hab das Skript extrem kommentiert,um den Kennern der Szene zu zeigen wie ich die einzelnen Zeilen interpretiere(und mich zu korrigieren).Das Skript funktioniert auf jeden Fall.Jetzt habe ich erst mal 2 Fragen dazu.
1).Ist das grundsätzlich so in Ordnung wie ich es geschrieben habe,oder gibt es irgend etwas das ich grundsätzlich falsch gemacht habe?
2).Wenn ich das Skript ausführe,blockiert es mir natürlich das Terminal.Rufe ich es mit "skript &" auf,funktioniert es nicht.Kann man das irgend wie anstellen das das Terminal wieder freigegeben wird?
Hier das Skript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #! /bin/bash TIME=$(date +%H:%M) # Aktuelle Uhrzeit SLEEPTIME=5 # Pausenzeit bevor die Schleife neu durchlaufen wird echo -n "Wann soll der Compuer ausgeschaltet werden(SS:MM)?" # Abfrage zu welcher Uhrzeit der Computer ausgeschaltet werden soll read SHUTDOWN # Ausschaltzeit in der Variablen "SHUTDOWN" speichern while true # Endlosschleife do if [ $TIME != $SHUTDOWN ] # Falls "Aktuelle Uhrzeit" ungleich "Ausschaltzeit" then # dann TIME=$(date +%H:%M) # weise der Variablen "TIME" die jetzt aktuelle Uhrzeit zu else # andernfalls notify-send "Achtung" "Der Rechner wird in 60 Sekunden ausgeschaltet" # Nur zur Kontrolle ob es funktioniert sleep 60 dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown # Befehl zum ausschalten fi sleep $SLEEPTIME # Pause bevor Schleife neu startet done |
In erwartung auf lehrreiche Kommentare
Gruß...busfahrer