Ich versuche, eine einfache Bash-Funktion zu schreiben, die X-Minuten schläft und dann einen System-Sleep-Befehl ausführt (für mich ist es sudo pm-suspend
). da ich auf Ubuntu bin) sieht die Funktion momentan so aus:
function sleepin {
sleep $(bc <<< $1*60); sudo pm-suspend
}
Das erste Argument ist, nach wie vielen Minuten der Schlaf erfolgen soll. Das Problem ist, dass mich das Skript nach dem Ruhezustand zur Eingabe des sudo-Passworts auffordert.
Wie soll ich das Skript neu schreiben, damit es mich nach dem Ruhezustand nicht zur Eingabe des sudo-Passworts auffordert?
(Ich habe versucht, sudo sleepin 30
aufzurufen aber es fordert mich immer noch zur Eingabe des Passworts auf. Beachten Sie, dass, wenn der Sleep-Aufruf klein genug ist, bash nicht zur Eingabe des Passworts auffordert, aber für einen längeren Sleep-Aufruf wird dies der Fall sein..)
Akzeptierte Antwort:
Wie Mat vorgeschlagen hat, können Sie dem Benutzer erlauben, pm-suspend ohne Passwort auszuführen.
Führen Sie sudo visudo
aus
Fügen Sie youruser ALL=(root) NOPASSWD: /path/to/pm-suspend
hinzu