Shell-Skriptbefehle funktionieren gut im Terminal, aber nicht über AppleScript

Ich habe zwei Befehle, die ich über das Terminal ausführen muss. Sie sind
cd /Users/[my name]/Desktopund curl 'www.google.com'>google.txt. Wenn Sie diese direkt im Terminal ausführen, funktionieren sie einwandfrei. Wenn Sie dies jedoch in AppleScript ausführen:

do shell script "cd /Users/Peter1/Desktop"
do shell script "curl 'www.google.com'>google.txt"

Es produzierte den Fehler:

sh: google.txt: Permission denied

Warum passiert das? Was kann ich tun, um es zu beheben?

Danke

Antworten (1)

Ihr obiges Skript führt zwei verschiedene Skripte aus. Einer ändert das Arbeitsverzeichnis in Ihren Benutzer-Desktop-Ordner ( ~/Desktop). Das andere Skript lädt es herunter www.google.comund legt es in einem Dokument in Ihrem Stammverzeichnis ( /) ab, das dazu keine Berechtigungen hat.

Sie können dies beheben, indem Sie es auf eine Anweisung do shell scriptwie diese reduzieren:

do shell script "curl www.google.com > ~/Desktop/google.txt"

Kurz gesagt, das Skript lädt zuerst den Inhalt der Website herunter www.google.comund erstellt dann eine neue Datei im angegebenen Verzeichnis. Möglicherweise bemerken Sie auch das ~Zeichen, das äquivalent ist /Users/username/.

Ah, okay, danke. Ich dachte, dass der erste Befehl das Arbeitsverzeichnis auf den Desktop dreht und der zweite dort eine Datei speichert (auf dem Desktop)