Come faccio a collegare / chiamare uno script di shell reale salvato all'interno di un'app Applescript?

2

Qual è la sintassi corretta in Applescript qui sotto per fare in modo che questa app venga eseguita facendo doppio clic su di essa anziché come viene eseguita ora eseguendo semplicemente Applescript nell'editor degli script di AS?

Lo script Shell si trova in:

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

Ed è impostato per essere eseguito da tutti. (Ho fatto 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

Script di shell

#!/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 .
    
posta BsdHelper 18.11.2013 - 18:35
fonte

2 risposte

1

Potresti anche usare lo script di 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"
    
risposta data 22.11.2013 - 11:53
fonte
2

Prova:

set myPath to POSIX path of ((path to me as text) & "Contents:Resources:Scripts:toggle.sh")
    
risposta data 18.11.2013 - 18:46
fonte

Leggi altre domande sui tag