Sie können nicht exec
in einer systemd Service Unit-Konfiguration verwendet werden.
exec
ist eine integrierte Shell und kann nicht direkt vom Dateisystem aus aufgerufen werden (sie befindet sich nicht im Dateisystem) - type exec
und whereis exec
zeigt Ihnen dies.
Verwenden Sie die Shell, in der sie geschrieben sind.
Wenn es sich beispielsweise um ein bash
Skript handelt, können Sie das Skript folgendermaßen ausführen:
bash /var/RCC/RCClogger.sh
Nun bash
ist eine ausführbare und tut einen absoluten Pfad haben: /bin/bash
. Ihr ExecStart sieht folgendermaßen aus:
ExecStart=/bin/bash /var/RCC/RCClogger.sh
Eine andere Möglichkeit ist, einfach ein a shebang
am Anfang des Skripts hinzuzufügen :
#!/bin/bash ... script code ...
Dadurch wird das Betriebssystem angewiesen, die Datei /bin/bash
in diesem Fall mit dem angegebenen Interpreter auszuführen .
Danach machen Sie Ihr Skript einfach ausführbar:
chmod +x /var/RCC/RCClogger.sh
Und benutze es direkt als ExecStart
:
ExecStart=/var/RCC/RCClogger.sh