Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>[launchd] Probleme mit bewährtem Script

[launchd] Probleme mit bewährtem Script

Bozol
Bozol27.12.1917:14
Hallo,

ich habe seit Catalina Probleme mit einem ShellScript welches seit 2014 unter jedem macOS problemlos lief.

Wenn ich das Script per Klick oder im Terminal starte läuft es ohne Fehler durch, die dazu gehörende .plist habe ich seinerzeit mit Lauchcontrol erstellt und lies sich auch in den Jahren problemlos einrichten. Unter Catalina kommt nun jedoch beim Einrichten per Launchcontrol nach ein paar Sekunden die Fehlermeldung “Error 1” welche lt. Launchcontrol anscheinend eine Allerwelts-Fehlermeldung zu sein scheint und nicht genau definiert wird.

Hier das Script:
#!/bin/sh

test -e /Volumes/Filme || exit 0

ls -URlT /Volumes/Filme | grep -iE 'mkv|mp4|m4v'|awk '{ print $9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$ 24,$25 }' | sed 's/^/Filme /' > '/Users/fred/Documents/VideolisteNAS/Liste_Filme2.txt'

iconv -f UTF8-MAC -t UTF-8 /Users/fred/Documents/VideolisteNAS/Liste_Filme2.txt > /Users/fred/Documents/VideolisteNAS/Liste_Filme.txt

rm /Users/fred/Documents/VideolisteNAS/Liste_Filme2.txt

Hier die Fehlermeldung:
ls: Filme: Operation not permitted
/Users/fred/Library/Scripts/VideosaufNAS: line 6: /Users/fred/Documents/VideolisteNAS/Liste_Filme.txt: Operation not permitted

Ich habe versuchsweise den in dem Script verwendeten Befehlen , Terminal und dem Script selbst Festplattenvollzugriff gewährt, jedoch ohne Erfolg.
Auch habe ich das Script mit Shellcheck überprüft, da wurde (in meinen Augen) nichts Arges entdeckt:
fred@iMac ~ % shellcheck /Users/fred/Library/Scripts/VideosaufNAS

In /Users/fred/Library/Scripts/VideosaufNAS_Kopie line 6:
ls -URlT /Volumes/Filme | grep -iE 'mkv|mp4|m4v'|awk '{ print $9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$ 24,$25 }' | sed 's/^/Filme /' > '/Users/fred/Documents/VideolisteNAS/Liste_Filme2.txt'
^-- SC2010: Don't use ls | grep. Use a glob or a for loop with a condition to allow non-alphanumeric filenames.

For more information:
  https://www.shellcheck.net/wiki/SC2010 -- Don't use ls | grep. Use a glob o...
fred@iMac ~ % 

Hat jemand von Euch eine Idee wie ich das Problem lösen kann? Ich habe natürlich selbst auch auf stackoverflow und dergl. gesucht, bin aber nicht fündig geworden bzw. die Lösungsvorschläge waren nicht zielführend.

Danke fürs lesen.

Gruss
Fred
0

Kommentare

Stresstest27.12.1918:14
Bozol
Ich habe versuchsweise den in dem Script verwendeten Befehlen , Terminal und dem Script selbst Festplattenvollzugriff gewährt, jedoch ohne Erfolg.

Also ich vermute mal: Das Programm LaunchControl bastelt ja die "launchd .plist" zusammen, und dabei prüft LaunchControl dann wohl auch, ob das funktioniert.
Meiner Ansicht nach musst du "LaunchControll" in den Bedienungshilfen auf jeden Fall Festplattenvollzugriff geben. Sonst schlägt wohl wie angegeben der "ls" Befehl fehl, weil es keine Rechte hat, das auszuführen. (Evtl. hat es auch ein Helfertool, das man noch freigeben muss?

Damit sollte dann die Prüfung durch laufen und auch die .plist richtig erstellt werden.

Unabhängig davon hast du Script ja dann vermutlich per launchd periodisch laufen lassen oder? Das sollte meiner Meinung nach auch noch funktionieren, da launchd nicht per Festplattenvollzugriff freigegeben werden muss.
Ansonsten bräuchte man mal die Fehlermeldung, die in der Konsole zum Systemstart ausgegeben wird, oder wenn man per "launchctl" im Terminal die .plist einmal lädt bzw. dann auch ausführt.
0
Bozol
Bozol27.12.1919:45
Du vermutest richtig, Lauchcontrol bastelt / überprüft die .plist. Wie ich schon im anderen Thread schrieb habe ich mittlerweile die Lösung gefunden. Und sorry an Alle, ich weiss nicht warum ein zweiter Thread entstanden ist. Vielleicht legt die Rennleitung die beiden Threads zusammen?
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.