Shutdown script, brauch Hilfe

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo
    Ich habe auf meinem Pi verschiedene Server Aufgesetzt und wollte nun ein script schreiben um den Server zu bestimmpten Uhrzeiten Runterzufahren. Leider kenne ich mich überhaubtnicht mit der Syntax in der Shell aus.

    Momentan gibt er mir dauernt Fehla nach diesem Muster aus:

    Code
    pi@raspberrypi ~ $ /home/pi/Desktop/shutdownServerAtTime
    /home/pi/Desktop/shutdownServerAtTime: Zeile 34: Syntaxfehler beim unerwarteten Wort `"Es ist Werktags"'
    /home/pi/Desktop/shutdownServerAtTime: Zeile 34: `      echo "Es ist Werktags"'

    Die Worte, bei denen der Syntaxfehler angeblich ist wechseln auserdem wahrlos.

    Vielen Dank schonmal für eure Hilfe im Vorraus. :danke_ATDE:

  • Zur Erklärung zu dem Problem:

    Das Zeichen # wird als Kommentarzeile verwenden, alles da hinter wird ignoriert. Deshalb kriegtest du dort eine Fehlermeldung weil die ) dann ignoriert wurde und somit der case kaputt war.

    Zu deinem Script:

    Problematisch wirds wenn locale nicht auf Deutsch/German gestellt ist, dann ist der Name des Tages nicht mehr "Sonntag" und matched somit nicht mehr. Deshalb wäre es sicherer %u zu verwenden: Tag der Woche (1..7); 1 steht für Montag
    Oder %w -> Tag der Woche (0..6); 0 steht für Sonntag

    Da dein Script eine Ausgabe (echo) erzeugt wäre es für den Eintrag in crontab auch empfehlenswert die Ausgaben umzuleiten, am besten in den Mülleimer. Die Ausgaben siehst du eh nicht sofern es über crontab ausgeführt wird.

    Code
    * * * * *   /home/pi/Desktop/shutdownServerAtTime >/dev/null 2>&1

    Auch könnte man den *) case etwas genauer machen zumindest wenn man Zahlen verwendet: [1-5]
    Was dann auf sowohl 1, 2, 3, 4 und 5 zutreffen würde.

    Und zu guter letzt eine etwas lesbarere Schreibweise des Scripts:

    Ansonsten gute Arbeit für dein erstes(?) Script :thumbs1:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!