Bash Variable an AppleScript Eingabefenster übergeben

Sascha_77

Sascha_77

Aktives Mitglied
Thread Starter
Dabei seit
23.10.2005
Beiträge
763
Reaktionspunkte
98
Guten Morgen.

Ich habe derzeit folgendes Problem. Das ist ein Teil des AS-Codes der in Bash ausgeführt wird:

Code:
set dialogText to text returned of (display dialog "Please enter Administrator Password" default answer "" with hidden answer with icon file "Applications:Kext Updater.app:Contents:Resources:html:locked.png")

Nun habe ich diese Bashvariable:
Code:
path="/Applications/Kext Updater.app/Contents/Resources/html/locked.png"

Wie kriege ich AS dazu diesen Pfad zu übernehmen?
Code:
set dialogText to text returned of (display dialog "Please enter Administrator Password" default answer "" with hidden answer with icon file "\"$path\"")
Das funktioniert schon mal nicht. "'"$path"'" mag auch nicht. Die Slashes aus der Variable wandle ich dann noch mit sed zu : um, dass ist kein Thema.
 
also du rufst du applescript befehle über osascript in einem bash script auf?
du musst $PATH schon von der bash auswerten lassen und dann als string mit in das osascript kommando basteln.
 
Ok hier der ganze Code. Ja, das führe ich in der Bash aus.

Code:
read -r -d '' applescriptCode <<'EOF'
set dialogText to text returned of (display dialog "Please enter Administrator Password" default answer "" with hidden answer with icon file "Applications:Kext Updater.app:Contents:Resources:html:locked.png")
return dialogText
EOF

@oneOeight

Was meinst Du mit auswerten lassen? Sowas:
Code:
ort=`echo "Applications/Kext Updater.app/Contents/Resources/html/locked.png" | sed "s/\//:/g"


`
? Hatte das auch schon versucht und keinen Erfolg.

Das mit dem reinbasteln ist ja eben das Problem. Kriegs nicht hin, dass er mir "ort" (habe Path dann mal entfernt ;) ) auflöst. Normal geht das ja mit \" oder "'" aber in dem Falle nicht.

@noodyn
Hatte mich in dem Beispiel vertan und korrigiert.
 
Zuletzt bearbeitet:
ist die ganze bash aktion nur da, um den pfad von / auf : umzubauen mit sed?
dir ist schon klar, dass es da den applescript befehl posix path of bzw quoted form of posix path of gibt?
der wandelt den schon richtig um.

sonst musst du halt den applescript befehl mit bash strings zusammenbauen:
Code:
APPLESCRIPTCODE='set dialogText to text returned of (display dialog "Please enter Administrator Password" default answer "" with hidden answer with icon file '
APPLESCRIPTCODE+='"$ORT")'
 
Habe soeben eine andere Lösung gefunden:

Code:
....with icon file ":..:html:admin.png"
Einfach statt einem absoluten Pfad einen relativen genommen. Hätte nicht gedacht, das das mit ".." ebenso in AS geht. :D Somit brauche ich die Bashvariable gar nicht mehr.

Dennoch Danke für Deine Lösung.
 
mit festen pfaden musst du aber vorsichtig sein, wenn die app verschoben wird usw.
applescript hat da aber einige befehle, wie man den pfad bekommt.
 
Ich hatte noch vergessen zu erwähnen das das Script mit in der App enthalten ist und somit immer an derselben Stelle. Die Info wäre wohl wichtig gewesen. Mea culpa. :eek: :sleep:
 
Zurück
Oben Unten