¿Cómo vinculo / llamo un script de shell real guardado dentro de una aplicación Applescript?

2

¿Cuál es la sintaxis correcta en el Applescript a continuación para ejecutar esta aplicación haciendo doble clic en ella en lugar de cómo se ejecuta ahora simplemente ejecutando el Applescript en el editor de scripts de AS?

El script de shell se encuentra en:

ToggleHidden.app/Contents/Resources/Scripts/toggle.sh

Y está configurado para ejecutarse por todos. (Hice chmod a + x toggle.sh)

Applescript

set bottomRoot to (path to me) as alias

 tell application "System Events"
 set myPath to (POSIX path of container of bottomRoot)

end tell

set scriptPath to quoted form of (myPath & "/toggle.sh")

do shell script scriptPath

Shell script

#!/bin/sh

STATUS='defaults read com.apple.finder AppleShowAllFiles

if [ $STATUS == TRUE ];

then

defaults write com.apple.finder AppleShowAllFiles FALSE

else

defaults write com.apple.finder AppleShowAllFiles TRUE

fi

killall Finder

sleep .5

open .
    
pregunta BsdHelper 18.11.2013 - 18:35

2 respuestas

1

También puedes usar el script de shell:

do shell script "killall Finder
[[ $(defaults read com.apple.finder AppleShowAllFiles) = 1 ]] && b=false || b=true
defaults write com.apple.finder AppleShowAllFiles -bool $b
sleep .5
open -a Finder"
    
respondido por el user495470 22.11.2013 - 11:53
2

Prueba:

set myPath to POSIX path of ((path to me as text) & "Contents:Resources:Scripts:toggle.sh")
    
respondido por el adayzdone 18.11.2013 - 18:46

Lea otras preguntas en las etiquetas