Ich habe zwei Befehle, die ich über das Terminal ausführen muss. Sie sind
cd /Users/[my name]/Desktop
und 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
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.com
und 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 script
wie 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.com
und erstellt dann eine neue Datei im angegebenen Verzeichnis. Möglicherweise bemerken Sie auch das ~
Zeichen, das äquivalent ist /Users/username/
.
APCodierung