290 Aufrufe
Liebe Nutzer,

es ist jetzt schon mehrfach aufgetreten, dass der Laborabruf per Applescript unter den genannten OS Versionen nicht korrekt funktioniert.

Der Befehl "keystroke" funktioniert nicht mehr zuverlässig und ändert die zu übertragende Zeichenkette, weshalb die Abrufscripte nicht mehr korrekt funktionieren. Dieser Bug ist bereits von vielen Mac Usern bestätigt und gemeldet.

Bitte sehen Sie davon ab, Rechner mit einem solchen Laborabruf auf die Versionen zu updaten.

Viele Grüße

Martin Kötzing
Gefragt von (7.3k Punkte) | 290 Aufrufe
0 Punkte

1 Antwort

Mittlerweile bin ich auf eine Lösung gestoßen, einen alternativen Befehl im Applescript zu verwenden. Man kann also updaten, muss aber damit rechnen, dass es nötig ist das Script anzupassen, da wir das nicht per Update ändern können.

 

Generell ist diese Script-Lösung suboptimal. Allerdings unterstützen nach wie vor einige Labore nicht die Authentifizierung per ssh-Key, was es damit nötig macht das Passwort beim SFTP Abruf manuell oder - für eine automatische Lösung - gescripted einzugeben. Somit ist es nicht möglich mit Shell Scripten zu arbeiten, was widerum die Ergebnisseauswertung der einzelner Schritte verhindert und es fehleranfällig macht (für z.B. Verzögerungen in der Übertragung oder Reaktionsgeschwindigkeiten der zuständigen Programme auf dem lokalen Rechner).

Hier noch ein AppleScript, wie ein sftp-Abruf für die macOS Versionen ab 10.12.2 aussehen kann

p.p1 {margin: 0.0px 0.0px 0.0px 78.5px; text-indent: -78.6px; font: 12.0px Verdana; color: #0433ff} span.s1 {font-variant-ligatures: no-common-ligatures; color: #000000} span.s2 {font-variant-ligatures: no-common-ligatures} span.s3 {font: 12.0px Menlo; font-variant-ligatures: no-common-ligatures; color: #942192} span.s4 {font-variant-ligatures: no-common-ligatures; color: #4e8f00} span.Apple-tab-span {white-space:pre}

tell application "Terminal"

set currentTab to do script ("sftp admin@host.de")

delay 2

do script ("passwort") in currentTab

delay 1

do script ("get *.ldt") in currentTab

delay 10

do script ("exit") in currentTab

delay 1

quit

end tell

Beantwortet von (7.3k Punkte)
0 Punkte
4,666 Beiträge
8,271 Antworten
10,439 Kommentare
1,922 Nutzer