NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@martin-0
Der chmod Befehl ändert nur die Dateirechte, sodass die Datei ausführbar ist. Mehr passiert da nicht.
Wie lautet denn der Pfad, wo sich die Datei wetterstation.sh befindet.
Der gleiche Pfad muss im Service bei ExecStart verwendet werden.
Standard ist unter /home/iobroker/ -
@viper4iob
Starten funktioniert schon nicht:pi@raspberrypi:~ $ sudo systemctl start wetterstation
Failed to start wetterstation.service: Unit wetterstation.service failed to load properly: Invalid argument.
See system logs and 'systemctl status wetterstation.service' for details.Der Pfad ist /home/iobroker
-
Zeig doch mal konkret deine Datei.
-
-
Bitte keine Screenshots und den Raspberry NICHT MIT DESKTOP BETREIBEN!
-
OK wie mache ich das denn richtig?
-
Per ssh in einem Terminal auf den Pi gehen. puTTY oder die Windows Powershell nimmt man dafür z. B.
Den Pi betreibt man im sog. RunLevel 3. -
@martin-0 said in [Linux Shell-Skript] WLAN-Wetterstation:
Das sieht mir nach einem Formatierungsproblem aus. Da sind mir zu viele Leerzeilen drin.
Direkt nach den Überschriften sollten die Argumente kommen, da ist aber überall eine Leerzeile, evtl. hat der systemd ein Problem damit. -
Oder die Datei ist mit einem Windows-Editor vermurkst worden und hat keine Linux-Zeilenumbrüche.
-
@viper4iob
Ich habe jetzt alle Leerzeichen gelöscht.
Keine Veränderung -
@thomas-braun
Den habe ich garnicht benutzt. -
Deutet der Fehler nicht eher daraufhin, dass die Datei garnicht gefunden wird bzw nicht ausführbar ist?
-
-
pi@raspberrypi:~ $ ls -la /home/iobroker/wetterstation.sh -rwxr-xr-x 1 root root 15472 Nov 3 09:40 /home/iobroker/wetterstation.sh
Mod-Edit: Code in </> Code-Tag gepackt!
-
@martin-0
Es lag an der Formatierung.Ich habe Leerzeilen eingefügt zwischen den Befehlen. Jetzt geht es.
-
@martin-0
Das klingt dann danach, dass die Zeilenumbrüche nicht gepasst haben.
Linux nutzt LF und Windows CRLF und wenn man das irgendwie von Windows rüber holt, hat man evtl. die falschen.
Da gibt es dann z.B. das Kommando dos2unix, um das umzuwandeln.
Und wenn man die Zeilenumbrüche he dem Editor unter Linux wieder einfügt, nimmt er natürlich LF
Du hast also vorhin beim Löschen der Leerzeilen wahrscheinlich die falschen gelöscht und dann durchs einfügen, die richtigen hinzugefügt. -
Die Datei in /home/iobroker sollte aber NIE dem root gehören.
-
@thomas-braun
Ich habe alles mögliche umgestellt.
Warum denn nicht? -
@martin-0
Weil das das /home des iobrokers ist. Und nicht vom root. Der wohnt unter /root. -
@martin-0
Kannst du mal das machen :
cat -e /etc/systemd/system/wetterstation.service
Der sollte den Inhalt der Datei mit Zeilenumbrüchen darstellen. Ich hoffe auch CRLF, falls vorhanden.
Was kommt da raus?
Es geht zwar jetzt, aber diese Leerzeilen gehören da eigentlich nicht hin. Evtl. hast du jetzt beide Typen drin.EDIT
Er müsste $ für LF anzeigen, was richtig wäre.
Und ^M$ für CRLF. Die sollten da nicht auftauchen.