2 votes

Comment lier/appeler un véritable shell script enregistré dans une application Applescript ?

Quelle est la syntaxe correcte dans l'Applescript ci-dessous pour que cette application s'exécute en double-cliquant dessus plutôt que de la façon dont elle s'exécute maintenant en exécutant simplement l'Applescript dans l'éditeur AS script ?

Le Shell script se trouve à l'adresse suivante :

ToggleHidden.app/Contents/Ressources/scripts/toggle.sh

Et elle est mise à exécution par tous. (J'ai fait 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 .

2voto

adayzdone Points 1798

Essayez :

set myPath to POSIX path of ((path to me as text) & "Contents:Resources:Scripts:toggle.sh")

1voto

Fuzzy Purple Monkey Points 702

Vous pourriez aussi simplement utiliser do shell script :

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"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X