2010-09-10 10 views
1

Je suis à la recherche d'un Applescript pour basculer le partage Web dans Snow Leopard. I tried this mais il ne désactive pas, il suffit de le redémarrer lorsque je l'exécute à nouveau. Ou une commande shell tant que je peux le transformer en une action Quicksilver. C'est mon objectif final. Merci beaucoup!Activer le partage Web

Répondre

1

Vous pouvez utiliser le script shell suivante pour activer l'état activé d'un service Mac OS X:

#!/bin/sh 
# toggle OS X service 

if [ "$#" -ne "1" ] 
then 
    echo 1>&2 Usage: `basename $0` service 
    echo 1>&2 Toggle the enabled state of the given service. 
    exit 2 
fi 

SERVICE_NAME=$1 
SERVICE_PLIST=/System/Library/LaunchDaemons/$SERVICE_NAME.plist 

if [ ! -f "$SERVICE_PLIST" ] 
then 
    echo 1>&2 Service $SERVICE_NAME is not available. 
    exit 1 
fi 

/sbin/service --test-if-configured-on "$SERVICE_NAME" 
if [ $? -eq 0 ] 
then 
    /bin/launchctl unload -w "$SERVICE_PLIST" 
else 
    /bin/launchctl load -w "$SERVICE_PLIST" 
fi 

Le script utilise la commande service pour déterminer si le service est sous tension et bascule son état en invoquant .

Le nom du service doit être transmis comme seul argument. Pour activer ou désactiver l'exécution de partage web:

sudo toggle_service.sh org.apache.httpd 

Pour appeler le script shell via AppleScript, vous pouvez utiliser la commande do shell script:

do shell script "toggle_service.sh org.apache.httpd" password "pwd" with administrator privileges 

Utilisez le paramètre password pour éviter d'être invité.

+0

Y a-t-il un moyen de sauvegarder mon mot de passe dans l'applescript, donc je n'ai pas besoin de l'entrer dans la commande? Je veux l'utiliser avec Quicksilver et y définir un raccourci clavier. – Marc

+0

@Marc voir ma réponse mise à jour. – sakra

+0

J'ai donc essayé de compiler ceci et j'ai obtenu ceci: http://cl.ly/2LJH -> http://cl.ly/2Lgv -> http://cl.ly/2LlE – Marc