Ich habe ein Problem beim Abrufen eines Bash-Skripts in Applescript. Was ich brauche, ist, dass die Applescript-Datei nach dem Benutzernamen und dem Passwort fragt, damit das Bash-Skript mit den Berechtigungen sudo
ausgeführt wird, da es Aufgaben ausführt, die nicht als Administrator ausgeführt werden können, wie beispielsweise Schreiben an /etc/
.Ausführen eines Bash-Skripts in Applescript
Da dieses Skript (in einer .dmg
Datei mit Platypus verpackt) wird an eine Reihe von Benutzern verteilt werden, kann ich nicht auf absolute Pfade verlassen, und müssen stattdessen den Pfad der Applescript-Datei erhalten, wenn es ausgeführt wird sudo
Berechtigungen, und führen Sie das Bash-Skript aus demselben Verzeichnis aus.
Bisher hat alles, was ich über SO-Posts und andere Seiten kommen konnte, dazu geführt, dass osascript
sich darüber beschwert hat, dass es das Bash-Skript nicht finden kann. Irgendwelche Ideen?
Es scheint, dass dies funktionieren könnte, aber es Syntaxfehler:
set wd to do shell script "pwd"
tell application "Terminal"
set run_cmd to "/bin/bash " & wd & "/osx.sh"
do script run_cmd with administrator privileges
end tell
Sie richtig relevant Applescript-Code schreiben sollte .. – andlrc
Scripting Terminal.app ist nicht erforderlich, da ist ein 'do shell script' Befehl. Und relative Pfade können einfach mit den verschiedenen "Pfad zu ..." Formen erstellt werden. Wo befindet sich das Bash-Skript? – vadian